]> err.no Git - linux-2.6/commit
[NETPOLL]: tx lock deadlock fix
authorStephen Hemminger <shemminger@linux.foundation.org>
Wed, 27 Jun 2007 07:39:42 +0000 (00:39 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 27 Jun 2007 07:39:42 +0000 (00:39 -0700)
commit0db3dc73f7a3a73b0dc725b6a991253f5652c905
tree55d78b37c8fd13ba0f56e3419d4dc3f57856e781
parent48d8d7ee5dd17c64833e0343ab4ae8ef01cc2648
[NETPOLL]: tx lock deadlock fix

If sky2 device poll routine is called from netpoll_send_skb, it would
deadlock. The netpoll_send_skb held the netif_tx_lock, and the poll
routine could acquire it to clean up skb's. Other drivers might use
same locking model.

The driver is correct, netpoll should not introduce more locking
problems than it causes already. So change the code to drop lock
before calling poll handler.

Signed-off-by: Stephen Hemminger <shemminger@linux.foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/netpoll.c