[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <87a5b0800810280506h71fd6508i9474917b0ef0b191@mail.gmail.com>
Date: Tue, 28 Oct 2008 12:06:00 +0000
From: "Will Newton" <will.newton@...il.com>
To: linux-kernel <linux-kernel@...r.kernel.org>
Cc: netdev <netdev@...r.kernel.org>, "Jeff Garzik" <jeff@...zik.org>
Subject: [PATCH] drivers/net/smc911x.c: Fix lockdep warning on xmit.
>From 0e3ec7f78e115533e4aca9ac067acbc33eb0a21f Mon Sep 17 00:00:00 2001
From: Will Newton <will.newton@...il.com>
Date: Tue, 28 Oct 2008 10:52:36 +0000
Subject: [PATCH] drivers/net/smc911x.c: Fix lockdep warning on xmit.
dev_kfree_skb should not be called with irqs disabled, use dev_kfree_skb_irq
instead. The warning caused looks like this:
======================================================
[ INFO: hard-safe -> hard-unsafe lock order detected ]
2.6.28-rc1 #273
------------------------------------------------------
swapper/0 [HC0[0]:SC1[2]:HE0:SE0] is trying to acquire:
(clock-AF_INET){-..+}, at: [<4015c17c>] _sock_def_write_space+0x28/0xd8
and this task is already holding:
(&lp->lock){++..}, at: [<4013f230>] _smc911x_hard_start_xmit+0x30/0x4b8
which would create a new lock dependency:
(&lp->lock){++..} -> (clock-AF_INET){-..+}
Signed-off-by: Will Newton <will.newton@...il.com>
---
drivers/net/smc911x.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index f59c777..5051554 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -499,7 +499,7 @@ static void smc911x_hardware_send_pkt(struct
net_device *dev)
#else
SMC_PUSH_DATA(lp, buf, len);
dev->trans_start = jiffies;
- dev_kfree_skb(skb);
+ dev_kfree_skb_irq(skb);
#endif
if (!lp->tx_throttle) {
netif_wake_queue(dev);
--
1.5.5.2
View attachment "0001-drivers-net-smc911x.c-Fix-lockdep-warning-on-xmit.patch" of type "text/x-diff" (1404 bytes)
Powered by blists - more mailing lists