[<prev] [next>] [day] [month] [year] [list]
Message-Id: <200811161539.55557.mb@bu3sch.de>
Date: Sun, 16 Nov 2008 15:39:55 +0100
From: Michael Buesch <mb@...sch.de>
To: Jeff Garzik <jeff@...zik.org>
Cc: netdev@...r.kernel.org, Pantelis Koukousoulas <pktoss@...il.com>,
Gary Zambrano <zambrano@...adcom.com>, stable@...nel.org
Subject: [PATCH] b44: Disable device on shutdown
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 <pktoss@...il.com>
Signed-off-by: Michael Buesch <mb@...sch.de>
Cc: stable@...nel.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.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists