|
@@ -1416,9 +1416,12 @@ static void bnxt_re_task(struct work_struct *work)
|
|
switch (re_work->event) {
|
|
switch (re_work->event) {
|
|
case NETDEV_REGISTER:
|
|
case NETDEV_REGISTER:
|
|
rc = bnxt_re_ib_reg(rdev);
|
|
rc = bnxt_re_ib_reg(rdev);
|
|
- if (rc)
|
|
|
|
|
|
+ if (rc) {
|
|
dev_err(rdev_to_dev(rdev),
|
|
dev_err(rdev_to_dev(rdev),
|
|
"Failed to register with IB: %#x", rc);
|
|
"Failed to register with IB: %#x", rc);
|
|
|
|
+ bnxt_re_remove_one(rdev);
|
|
|
|
+ bnxt_re_dev_unreg(rdev);
|
|
|
|
+ }
|
|
break;
|
|
break;
|
|
case NETDEV_UP:
|
|
case NETDEV_UP:
|
|
bnxt_re_dispatch_event(&rdev->ibdev, NULL, 1,
|
|
bnxt_re_dispatch_event(&rdev->ibdev, NULL, 1,
|