be2net: Use MCC queue for cmds that may be called in BH context
authorSathya Perla <sathyap@serverengines.com>
Thu, 18 Jun 2009 00:05:54 +0000 (00:05 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 19 Jun 2009 07:18:40 +0000 (00:18 -0700)
commit6ac7b687cb3acc437a586794949a43f5249956bb
tree249aa952dfafa22a8c299dc344df1aa7aeea8364
parent5fb379ee67a7ec55ff65b467b472f3d69b60ba16
be2net: Use MCC queue for cmds that may be called in BH context

Currenlty multicast_set and promiscuous_config cmds -- that may be called in BH context --
use the blocking MCC mbox to post cmds.
An mbox cmd is protected via a spin_lock(cmd_lock) and not spin_lock_bh() as it is undesirable
to disable BHs while a blocking mbox cmd is in progress (and take long to finish.)
This can lockup a cmd in progress in process context.
So, these two cmds in BH context must use the MCC queue to post cmds.

Signed-off-by: Sathya Perla <sathyap@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/benet/be_cmds.c