summaryrefslogtreecommitdiff
path: root/drivers/net/e1000e/ich8lan.c
diff options
context:
space:
mode:
authorXiaotian Feng <xtfeng@gmail.com>2009-10-21 23:07:04 +0000
committerDavid S. Miller <davem@davemloft.net>2009-10-22 18:27:53 -0700
commit2bd9af046fdc10703b266b0f3b25423f0b7d703e (patch)
treec20f3117f3cf7af8d309ff919e4afd5ba3c48184 /drivers/net/e1000e/ich8lan.c
parent0dc6d9cbe7df4d2c3cdf17cd2f78733102b0fea6 (diff)
downloadlwn-2bd9af046fdc10703b266b0f3b25423f0b7d703e.tar.gz
lwn-2bd9af046fdc10703b266b0f3b25423f0b7d703e.zip
isdn: fix possible circular locking dependency
There's a circular locking dependency: ---> isdn_net_get_locked_lp     --->lock &nd->queue_lock     --->lock &nd->queue->xmit_lock     .....................     ---->unlock &nd->queue_lock ---> isdn_net_writebuf_skb (called with &nd->queue->xmit_lock locked)     ---->isdn_net_inc_frame_cnt          ---->isdn_net_device_busy               ----> lock &nd->queue_lock This will trigger lockdep warnings:  =======================================================  [ INFO: possible circular locking dependency detected ]  2.6.32-rc4-testing #7  -------------------------------------------------------  ipppd/28379 is trying to acquire lock:  (&netdev->queue_lock){......}, at: [<e62ad0fd>] isdn_net_device_busy+0x2c/0x74 [isdn]  but task is already holding lock:  (&netdev->local->xmit_lock){+.....}, at: [<e62aefc2>] isdn_net_write_super+0x3f/0x6e [isdn]  which lock already depends on the new lock. ....... We don't need to lock nd->queue->xmit_lock to protect single isdn_net_lp_busy(). This can fix above lockdep warnings. Reported-and-tested-by: Tilman Schmidt <tilman@imap.cc> Signed-off-by: Xiaotian Feng <xtfeng@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/e1000e/ich8lan.c')
0 files changed, 0 insertions, 0 deletions