1 From: Helmut Schaa <helmut.schaa@googlemail.com>
2 Subject: iwlagn: clean up error path in iwl_pci_probe
3 Patch-mainline: not yet
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.
10 Both issues were introduced in the patch "iwlagn: fix hw-rfkill while
11 the interface is down".
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>
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);
23 IWL_ERROR("failed to create sysfs device attributes\n");
24 - goto out_uninit_drv;
28 iwl_setup_deferred_work(priv);
29 @@ -4352,9 +4352,10 @@ static int iwl4965_pci_probe(struct pci_
32 sysfs_remove_group(&pdev->dev.kobj, &iwl4965_attribute_group);
34 + free_irq(priv->pci_dev->irq, priv);
36 pci_disable_msi(priv->pci_dev);
37 - pci_disable_device(priv->pci_dev);