diff options
author | Alex Shi <alex.shi@linaro.org> | 2014-01-16 09:14:57 +0800 |
---|---|---|
committer | Alex Shi <alex.shi@linaro.org> | 2014-01-16 09:14:57 +0800 |
commit | c8e95ac690b37fd1a469c685d716e24abae26992 (patch) | |
tree | 62593c6b574ff9cf08cabbcb7d4fc943b5377718 /drivers/mfd/rtsx_pcr.c | |
parent | 3dad43721441f1cf8ed1a3a975bc939007686589 (diff) | |
parent | 1071ea6e68ead40df739b223e9013d99c23c19ab (diff) |
Merge remote-tracking branch 'stable/linux-3.10.y' 3.10.27 into linux-linaro-lsk
Diffstat (limited to 'drivers/mfd/rtsx_pcr.c')
-rw-r--r-- | drivers/mfd/rtsx_pcr.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/mfd/rtsx_pcr.c b/drivers/mfd/rtsx_pcr.c index e968c01ca2a..45f26be359e 100644 --- a/drivers/mfd/rtsx_pcr.c +++ b/drivers/mfd/rtsx_pcr.c @@ -1195,8 +1195,14 @@ static void rtsx_pci_remove(struct pci_dev *pcidev) pcr->remove_pci = true; - cancel_delayed_work(&pcr->carddet_work); - cancel_delayed_work(&pcr->idle_work); + /* Disable interrupts at the pcr level */ + spin_lock_irq(&pcr->lock); + rtsx_pci_writel(pcr, RTSX_BIER, 0); + pcr->bier = 0; + spin_unlock_irq(&pcr->lock); + + cancel_delayed_work_sync(&pcr->carddet_work); + cancel_delayed_work_sync(&pcr->idle_work); mfd_remove_devices(&pcidev->dev); |