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:
Родитель
8bd1d07f93
Коммит
795cc0ad54
|
@ -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);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче