diff options
| -rw-r--r-- | drivers/infiniband/hw/qib/qib_init.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/qib/qib_init.c b/drivers/infiniband/hw/qib/qib_init.c index 7831ff835d15..a873dd596e81 100644 --- a/drivers/infiniband/hw/qib/qib_init.c +++ b/drivers/infiniband/hw/qib/qib_init.c | |||
| @@ -1289,8 +1289,18 @@ static int __devinit qib_init_one(struct pci_dev *pdev, | |||
| 1289 | 1289 | ||
| 1290 | if (qib_mini_init || initfail || ret) { | 1290 | if (qib_mini_init || initfail || ret) { |
| 1291 | qib_stop_timers(dd); | 1291 | qib_stop_timers(dd); |
| 1292 | flush_scheduled_work(); | ||
| 1292 | for (pidx = 0; pidx < dd->num_pports; ++pidx) | 1293 | for (pidx = 0; pidx < dd->num_pports; ++pidx) |
| 1293 | dd->f_quiet_serdes(dd->pport + pidx); | 1294 | dd->f_quiet_serdes(dd->pport + pidx); |
| 1295 | if (qib_mini_init) | ||
| 1296 | goto bail; | ||
| 1297 | if (!j) { | ||
| 1298 | (void) qibfs_remove(dd); | ||
| 1299 | qib_device_remove(dd); | ||
| 1300 | } | ||
| 1301 | if (!ret) | ||
| 1302 | qib_unregister_ib_device(dd); | ||
| 1303 | qib_postinit_cleanup(dd); | ||
| 1294 | if (initfail) | 1304 | if (initfail) |
| 1295 | ret = initfail; | 1305 | ret = initfail; |
| 1296 | goto bail; | 1306 | goto bail; |
