DORMANTno replies

[PATCH] b44: Disable device on shutdown

From: Michael Buesch <hidden>
Date: 2008-11-16 15:26:40

Disable the SSB core on device shutdown.
This has two advantages:
1) A clean device shutdown is always desired here, because we disable
   the device's global crystal in the next statement.
2) This fixes a bug where the device will come up with the enable-bit
   set on the next initialization (without a reboot inbetween).
   This causes breakage on the second initialization due to code that
   checks this bit (ssb_device_is_enabled() checks).

Reported-by: Pantelis Koukousoulas <redacted>
Signed-off-by: Michael Buesch <redacted>
Cc: stable@kernel.org

---

I think this should go in for 2.6.28, as it fixes a
device-doesn't-work-anymore bug after a insmod-rmmod-insmod cycle.

Index: wireless-testing/drivers/net/b44.c
===================================================================
--- wireless-testing.orig/drivers/net/b44.c	2008-11-16 14:45:08.000000000 +0100
+++ wireless-testing/drivers/net/b44.c	2008-11-16 14:47:06.000000000 +0100
@@ -2233,6 +2233,7 @@ static void __devexit b44_remove_one(str
 	struct net_device *dev = ssb_get_drvdata(sdev);
 
 	unregister_netdev(dev);
+	ssb_device_disable(sdev, 0);
 	ssb_bus_may_powerdown(sdev->bus);
 	free_netdev(dev);
 	ssb_pcihost_set_power_state(sdev, PCI_D3hot);
-- 
Greetings Michael.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help