summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkinobu Mita <mita@fixstars.com>2013-07-30 00:36:02 +0530
committerJames Bottomley <JBottomley@Parallels.com>2013-08-26 12:51:27 +0400
commite0f4b7c5acbac65d2f56ed5e1d2d8036f9db936e (patch)
tree686682b6b51438299b4f41e8d6c70a28b8262bfe
parent36f4f3b672748e7d9786ef1e0ae5caefd337b668 (diff)
[SCSI] ufs: don't disable_irq() if the IRQ can be shared among devices
When removing the UFS driver, disable_irq() is called and the IRQ is not enabled again. Unfortunately, the IRQ is requested with IRQF_SHARED and it can be shared among several devices. So disabling the IRQ in this way is just breaking other devices which are sharing the IRQ. Signed-off-by: Akinobu Mita <mita@fixstars.com> Signed-off-by: Santosh Y <santoshsy@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
-rw-r--r--drivers/scsi/ufs/ufshcd-pci.c2
-rw-r--r--drivers/scsi/ufs/ufshcd-pltfrm.c2
2 files changed, 0 insertions, 4 deletions
diff --git a/drivers/scsi/ufs/ufshcd-pci.c b/drivers/scsi/ufs/ufshcd-pci.c
index 24d6ba717144..a823cf44e949 100644
--- a/drivers/scsi/ufs/ufshcd-pci.c
+++ b/drivers/scsi/ufs/ufshcd-pci.c
@@ -131,8 +131,6 @@ static void ufshcd_pci_remove(struct pci_dev *pdev)
pm_runtime_forbid(&pdev->dev);
pm_runtime_get_noresume(&pdev->dev);
-
- disable_irq(pdev->irq);
ufshcd_remove(hba);
pci_set_drvdata(pdev, NULL);
}
diff --git a/drivers/scsi/ufs/ufshcd-pltfrm.c b/drivers/scsi/ufs/ufshcd-pltfrm.c
index c5c28357fb63..8b4a27fdbb3e 100644
--- a/drivers/scsi/ufs/ufshcd-pltfrm.c
+++ b/drivers/scsi/ufs/ufshcd-pltfrm.c
@@ -188,8 +188,6 @@ static int ufshcd_pltfrm_remove(struct platform_device *pdev)
struct ufs_hba *hba = platform_get_drvdata(pdev);
pm_runtime_get_sync(&(pdev)->dev);
-
- disable_irq(hba->irq);
ufshcd_remove(hba);
return 0;
}