diff options
author | Samuel Ortiz <sameo@linux.intel.com> | 2012-06-11 05:18:30 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-06-13 18:34:31 -0400 |
commit | 169dc388685f8a1c1e09546882a114ac850a5d6b (patch) | |
tree | 22059fbda8271f1528da606253fe64af33bbe158 /drivers/misc/mei/main.c | |
parent | 1e69d64a28cf3cabd095ada3a49f081c97f997dd (diff) |
misc: mei: Disable MSI when IRQ registration fails
Since MSI is enabled right before that, we should disable it when
registration fails.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc/mei/main.c')
-rw-r--r-- | drivers/misc/mei/main.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/misc/mei/main.c b/drivers/misc/mei/main.c index a5a17e78a96c..7de13891e49e 100644 --- a/drivers/misc/mei/main.c +++ b/drivers/misc/mei/main.c | |||
@@ -992,7 +992,7 @@ static int __devinit mei_probe(struct pci_dev *pdev, | |||
992 | if (err) { | 992 | if (err) { |
993 | dev_err(&pdev->dev, "request_threaded_irq failure. irq = %d\n", | 993 | dev_err(&pdev->dev, "request_threaded_irq failure. irq = %d\n", |
994 | pdev->irq); | 994 | pdev->irq); |
995 | goto unmap_memory; | 995 | goto disable_msi; |
996 | } | 996 | } |
997 | INIT_DELAYED_WORK(&dev->timer_work, mei_timer); | 997 | INIT_DELAYED_WORK(&dev->timer_work, mei_timer); |
998 | if (mei_hw_init(dev)) { | 998 | if (mei_hw_init(dev)) { |
@@ -1023,8 +1023,8 @@ release_irq: | |||
1023 | mei_disable_interrupts(dev); | 1023 | mei_disable_interrupts(dev); |
1024 | flush_scheduled_work(); | 1024 | flush_scheduled_work(); |
1025 | free_irq(pdev->irq, dev); | 1025 | free_irq(pdev->irq, dev); |
1026 | disable_msi: | ||
1026 | pci_disable_msi(pdev); | 1027 | pci_disable_msi(pdev); |
1027 | unmap_memory: | ||
1028 | pci_iounmap(pdev, dev->mem_addr); | 1028 | pci_iounmap(pdev, dev->mem_addr); |
1029 | free_device: | 1029 | free_device: |
1030 | kfree(dev); | 1030 | kfree(dev); |