dm9000: fix "BUG: spinlock recursion"
commit380fefb2ddabd4cd5f14dbe090481f0544e65078
authorBaruch Siach <baruch@tkos.co.il>
Tue, 18 May 2010 00:45:48 +0000 (17 17:45 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 18 May 2010 00:45:48 +0000 (17 17:45 -0700)
treeddfc9380df76bfc85eee7eeb978a649a4b2383c3
parent5476b8b22589fe118f3c228d71406455002b79b1
dm9000: fix "BUG: spinlock recursion"

dm9000_set_rx_csum and dm9000_hash_table are called from atomic context (in
dm9000_init_dm9000), and from non-atomic context (via ethtool_ops and
net_device_ops respectively). This causes a spinlock recursion BUG. Fix this by
renaming these functions to *_unlocked for the atomic context, and make the
original functions locking wrappers for use in the non-atomic context.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dm9000.c