|
@@ -3253,8 +3253,10 @@ bnad_pci_probe(struct pci_dev *pdev,
|
|
|
spin_unlock_irqrestore(&bnad->bna_lock, flags);
|
|
|
|
|
|
err = bnad_res_alloc(bnad, &bnad->mod_res_info[0], BNA_MOD_RES_T_MAX);
|
|
|
- if (err)
|
|
|
+ if (err) {
|
|
|
+ err = -EIO;
|
|
|
goto disable_ioceth;
|
|
|
+ }
|
|
|
|
|
|
spin_lock_irqsave(&bnad->bna_lock, flags);
|
|
|
bna_mod_init(&bnad->bna, &bnad->mod_res_info[0]);
|
|
@@ -3266,6 +3268,8 @@ bnad_pci_probe(struct pci_dev *pdev,
|
|
|
bnad_set_netdev_perm_addr(bnad);
|
|
|
spin_unlock_irqrestore(&bnad->bna_lock, flags);
|
|
|
|
|
|
+ mutex_unlock(&bnad->conf_mutex);
|
|
|
+
|
|
|
/* Finally, reguister with net_device layer */
|
|
|
err = register_netdev(netdev);
|
|
|
if (err) {
|
|
@@ -3274,6 +3278,8 @@ bnad_pci_probe(struct pci_dev *pdev,
|
|
|
}
|
|
|
set_bit(BNAD_RF_NETDEV_REGISTERED, &bnad->run_flags);
|
|
|
|
|
|
+ return 0;
|
|
|
+
|
|
|
probe_success:
|
|
|
mutex_unlock(&bnad->conf_mutex);
|
|
|
return 0;
|