commit | 7fc1ece40704b150477e548a7a98d285cc418790 | [log] [tgz] |
---|---|---|
author | Michael Chan <mchan@broadcom.com> | Fri Aug 14 15:49:47 2009 +0000 |
committer | David S. Miller <davem@davemloft.net> | Sat Aug 15 18:50:47 2009 -0700 |
tree | fd7f72c1b92ddde327fb72235a256539ac193b8c | |
parent | 681dbd710779e8b8d5bae926f6b11f30df70638b [diff] |
cnic: Fix locking in init/exit calls. The slow path ulp_init and ulp_exit calls to the bnx2i driver are sleepable calls and therefore should not be protected using rcu_read_lock. Fix it by using mutex and refcount during these calls. cnic_unregister_driver() will now wait for the refcount to go to zero before completing the call. Signed-off-by: Michael Chan <mchan@broadcom.com> Reviewed-by: Benjamin Li <benli@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>