iwlagn: clean up error path in iwl_pci_probe

This avoids triggering a BUG_ON in pci_disable_msi in the error path.
Furthermore remove the first call to pci_disable_device as it is already
called at out_pci_disable_device.

Both issues were introduced in the patch "iwlagn: fix hw-rfkill while
the interface is down".

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Acked-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Helmut Schaa 2009-02-12 18:51:03 +01:00 коммит произвёл John W. Linville
Родитель 8bd1d07f93
Коммит 795cc0ad54
1 изменённых файлов: 3 добавлений и 3 удалений

Просмотреть файл

@ -3612,7 +3612,7 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
err = sysfs_create_group(&pdev->dev.kobj, &iwl_attribute_group); err = sysfs_create_group(&pdev->dev.kobj, &iwl_attribute_group);
if (err) { if (err) {
IWL_ERR(priv, "failed to create sysfs device attributes\n"); IWL_ERR(priv, "failed to create sysfs device attributes\n");
goto out_uninit_drv; goto out_free_irq;
} }
iwl_setup_deferred_work(priv); iwl_setup_deferred_work(priv);
@ -3657,10 +3657,10 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
out_remove_sysfs: out_remove_sysfs:
sysfs_remove_group(&pdev->dev.kobj, &iwl_attribute_group); sysfs_remove_group(&pdev->dev.kobj, &iwl_attribute_group);
out_free_irq:
free_irq(priv->pci_dev->irq, priv);
out_disable_msi: out_disable_msi:
pci_disable_msi(priv->pci_dev); pci_disable_msi(priv->pci_dev);
pci_disable_device(priv->pci_dev);
out_uninit_drv:
iwl_uninit_drv(priv); iwl_uninit_drv(priv);
out_free_eeprom: out_free_eeprom:
iwl_eeprom_free(priv); iwl_eeprom_free(priv);