diff options
author | Rasesh Mody <rmody@brocade.com> | 2011-09-21 20:55:41 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-09-21 20:55:41 -0400 |
commit | 3fc72370186be2f9d4d6ef06d99e1caa5d92c564 (patch) | |
tree | 94537707a3ed7c7f1ab1584cd11923ff20b49a1b | |
parent | b7a17c0d846aab9f0e5d1dd3d005152c4ce459aa (diff) | |
download | linux-3fc72370186be2f9d4d6ef06d99e1caa5d92c564.tar.gz linux-3fc72370186be2f9d4d6ef06d99e1caa5d92c564.tar.bz2 linux-3fc72370186be2f9d4d6ef06d99e1caa5d92c564.zip |
bna: PCI Probe Conf Lock Fix
If register_netdev() fails now, then we call mutex_unlock(&bnad->conf_mutex);
on the error path, but it's already unlocked. So we acquire the lock in error
path which will be later unlocked after the cleanup.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Rasesh Mody <rmody@brocade.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/brocade/bna/bnad.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/brocade/bna/bnad.c b/drivers/net/ethernet/brocade/bna/bnad.c index abca1399fe51..db6c0978899b 100644 --- a/drivers/net/ethernet/brocade/bna/bnad.c +++ b/drivers/net/ethernet/brocade/bna/bnad.c @@ -3359,6 +3359,7 @@ probe_success: return 0; probe_uninit: + mutex_lock(&bnad->conf_mutex); bnad_res_free(bnad, &bnad->mod_res_info[0], BNA_MOD_RES_T_MAX); disable_ioceth: bnad_ioceth_disable(bnad); |