forked from luck/tmp_suning_uos_patched
PCI: Fix disable IRQ 0 in pci_reset_function()
Before initialization, dev->irq may be zero. Make sure we don't disable it at reset time in that case. Reviewed-by: Matthew Wilcox <willy@linux.intel.com> Signed-off-by: Sheng Yang <sheng@linux.intel.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
This commit is contained in:
parent
7f0f598a00
commit
1df8fb3d5f
@ -1832,7 +1832,7 @@ int pci_reset_function(struct pci_dev *dev)
|
|||||||
if (!(cap & PCI_EXP_DEVCAP_FLR))
|
if (!(cap & PCI_EXP_DEVCAP_FLR))
|
||||||
return -ENOTTY;
|
return -ENOTTY;
|
||||||
|
|
||||||
if (!dev->msi_enabled && !dev->msix_enabled)
|
if (!dev->msi_enabled && !dev->msix_enabled && dev->irq != 0)
|
||||||
disable_irq(dev->irq);
|
disable_irq(dev->irq);
|
||||||
pci_save_state(dev);
|
pci_save_state(dev);
|
||||||
|
|
||||||
@ -1841,7 +1841,7 @@ int pci_reset_function(struct pci_dev *dev)
|
|||||||
r = pci_execute_reset_function(dev);
|
r = pci_execute_reset_function(dev);
|
||||||
|
|
||||||
pci_restore_state(dev);
|
pci_restore_state(dev);
|
||||||
if (!dev->msi_enabled && !dev->msix_enabled)
|
if (!dev->msi_enabled && !dev->msix_enabled && dev->irq != 0)
|
||||||
enable_irq(dev->irq);
|
enable_irq(dev->irq);
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
|
Loading…
Reference in New Issue
Block a user