]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blob - src/patches/suse-2.6.27.25/patches.fixes/iwl3945-fix-crash-on-rmmod.patch
Updated xen patches taken from suse.
[people/teissler/ipfire-2.x.git] / src / patches / suse-2.6.27.25 / patches.fixes / iwl3945-fix-crash-on-rmmod.patch
1 From: Kolekar, Abhijeet <abhijeet.kolekar@intel.com>
2 Subject: iwl3945: release resources before shutting down
3 Patch-mainline: 2.6.30
4 Reference: bnc#495816
5
6 Release resource before shutting down and notify upper stack.
7
8 Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
9 Signed-off-by: Zhu Yi <yi.zhu@intel.com>
10 Signed-off-by: John W. Linville <linville@tuxdriver.com>
11 Acked-by: Helmut Schaa <hschaa@suse.de>
12 Acked-by: Jiri Benc <jbenc@suse.cz>
13
14 diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
15 index 38b1f90..722fc44 100644
16 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
17 +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
18 @@ -8105,7 +8105,12 @@ static void __devexit iwl3945_pci_remove(struct pci_dev *pdev)
19
20 set_bit(STATUS_EXIT_PENDING, &priv->status);
21
22 - iwl3945_down(priv);
23 + if (priv->mac80211_registered) {
24 + ieee80211_unregister_hw(priv->hw);
25 + priv->mac80211_registered = 0;
26 + } else {
27 + iwl3945_down(priv);
28 + }
29
30 /* make sure we flush any pending irq or
31 * tasklet for the driver
32 @@ -8130,9 +8130,6 @@ static void __devexit iwl3945_pci_remove(struct pci_dev *pdev)
33 iwl3945_unset_hw_setting(priv);
34 iwl3945_clear_stations_table(priv);
35
36 - if (priv->mac80211_registered)
37 - ieee80211_unregister_hw(priv->hw);
38 -
39 /*netif_stop_queue(dev); */
40 flush_workqueue(priv->workqueue);
41