]>
Commit | Line | Data |
---|---|---|
2cb7cef9 BS |
1 | From: Helmut Schaa <helmut.schaa@googlemail.com> |
2 | Subject: iwlagn: clean up error path in iwl_pci_probe | |
3 | Patch-mainline: not yet | |
4 | References: bnc#474043 | |
5 | ||
6 | This avoids triggering a BUG_ON in pci_disable_msi in the error path. | |
7 | Furthermore remove the first call to pci_disable_device as it is already | |
8 | called at out_pci_disable_device. | |
9 | ||
10 | Both issues were introduced in the patch "iwlagn: fix hw-rfkill while | |
11 | the interface is down". | |
12 | ||
13 | Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> | |
14 | Acked-by: Helmut Schaa <hschaa@suse.de> | |
15 | Acked-by: Jiri Benc <jbenc@suse.cz> | |
16 | --- | |
17 | diff -urNp linux-2.6.27/drivers/net/wireless/iwlwifi/iwl-agn.c linux-2.6.27/drivers/net/wireless/iwlwifi/iwl-agn.c | |
18 | --- linux-2.6.27/drivers/net/wireless/iwlwifi/iwl-agn.c 2009-02-13 14:10:57.000000000 +0100 | |
19 | +++ linux-2.6.27/drivers/net/wireless/iwlwifi/iwl-agn.c 2009-02-13 14:09:10.000000000 +0100 | |
20 | @@ -4307,7 +4307,7 @@ static int iwl4965_pci_probe(struct pci_ | |
21 | err = sysfs_create_group(&pdev->dev.kobj, &iwl4965_attribute_group); | |
22 | if (err) { | |
23 | IWL_ERROR("failed to create sysfs device attributes\n"); | |
24 | - goto out_uninit_drv; | |
25 | + goto out_free_irq; | |
26 | } | |
27 | ||
28 | iwl_setup_deferred_work(priv); | |
29 | @@ -4352,9 +4352,10 @@ static int iwl4965_pci_probe(struct pci_ | |
30 | ||
31 | out_remove_sysfs: | |
32 | sysfs_remove_group(&pdev->dev.kobj, &iwl4965_attribute_group); | |
33 | + out_free_irq: | |
34 | + free_irq(priv->pci_dev->irq, priv); | |
35 | out_disable_msi: | |
82094b55 AF |
36 | pci_disable_msi(priv->pci_dev); |
37 | - pci_disable_device(priv->pci_dev); | |
2cb7cef9 BS |
38 | out_uninit_drv: |
39 | iwl_uninit_drv(priv); | |
40 | out_free_eeprom: |