All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net v2 1/1] r8169: fix lockdep warning when removing interface
@ 2013-07-22  7:53 Peter Wu
  2013-07-24 22:43 ` David Miller
  0 siblings, 1 reply; 2+ messages in thread
From: Peter Wu @ 2013-07-22  7:53 UTC (permalink / raw)
  To: netdev; +Cc: Francois Romieu, Realtek linux nic maintainers

The work queue is initialised in rtl_open (when the interface goes up),
but canceled in rtl_remove_one (when the PCI device gets removed). If
the network interface is not brought up, then the work queue struct is
not initialised. When the device is removed, the attempt to cancel the
uninitialised work queue causes a lockdep warning.

This patch fixes the issue by moving cancel_work_sync to rtl_close (to
match rtl_open). (Note that rtl_close is also called via
unregister_netdev in rtl_remove_one.)

Signed-off-by: Peter Wu <lekensteyn@gmail.com>
Acked-by: Francois Romieu <romieu@fr.zoreil.com>
---
 drivers/net/ethernet/realtek/r8169.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/realtek/r8169.c 
b/drivers/net/ethernet/realtek/r8169.c
index 4106a74..880015c 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -6468,6 +6468,8 @@ static int rtl8169_close(struct net_device *dev)
 	rtl8169_down(dev);
 	rtl_unlock_work(tp);
 
+	cancel_work_sync(&tp->wk.work);
+
 	free_irq(pdev->irq, dev);
 
 	dma_free_coherent(&pdev->dev, R8169_RX_RING_BYTES, tp->RxDescArray,
@@ -6793,8 +6795,6 @@ static void rtl_remove_one(struct pci_dev *pdev)
 		rtl8168_driver_stop(tp);
 	}
 
-	cancel_work_sync(&tp->wk.work);
-
 	netif_napi_del(&tp->napi);
 
 	unregister_netdev(dev);
-- 
1.8.3.2

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH net v2 1/1] r8169: fix lockdep warning when removing interface
  2013-07-22  7:53 [PATCH net v2 1/1] r8169: fix lockdep warning when removing interface Peter Wu
@ 2013-07-24 22:43 ` David Miller
  0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2013-07-24 22:43 UTC (permalink / raw)
  To: lekensteyn; +Cc: netdev, romieu, nic_swsd

From: Peter Wu <lekensteyn@gmail.com>
Date: Mon, 22 Jul 2013 09:53:30 +0200

> The work queue is initialised in rtl_open (when the interface goes up),
> but canceled in rtl_remove_one (when the PCI device gets removed). If
> the network interface is not brought up, then the work queue struct is
> not initialised. When the device is removed, the attempt to cancel the
> uninitialised work queue causes a lockdep warning.
> 
> This patch fixes the issue by moving cancel_work_sync to rtl_close (to
> match rtl_open). (Note that rtl_close is also called via
> unregister_netdev in rtl_remove_one.)
> 
> Signed-off-by: Peter Wu <lekensteyn@gmail.com>
> Acked-by: Francois Romieu <romieu@fr.zoreil.com>

Applied, thanks.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-07-24 22:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-22  7:53 [PATCH net v2 1/1] r8169: fix lockdep warning when removing interface Peter Wu
2013-07-24 22:43 ` David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.