diff options
| -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 11e20afbdcac..705698fd2c7e 100644 --- a/drivers/mfd/rtsx_pcr.c +++ b/drivers/mfd/rtsx_pcr.c | |||
| @@ -1228,8 +1228,14 @@ static void rtsx_pci_remove(struct pci_dev *pcidev) | |||
| 1228 | 1228 | ||
| 1229 | pcr->remove_pci = true; | 1229 | pcr->remove_pci = true; |
| 1230 | 1230 | ||
| 1231 | cancel_delayed_work(&pcr->carddet_work); | 1231 | /* Disable interrupts at the pcr level */ |
| 1232 | cancel_delayed_work(&pcr->idle_work); | 1232 | spin_lock_irq(&pcr->lock); |
| 1233 | rtsx_pci_writel(pcr, RTSX_BIER, 0); | ||
| 1234 | pcr->bier = 0; | ||
| 1235 | spin_unlock_irq(&pcr->lock); | ||
| 1236 | |||
| 1237 | cancel_delayed_work_sync(&pcr->carddet_work); | ||
| 1238 | cancel_delayed_work_sync(&pcr->idle_work); | ||
| 1233 | 1239 | ||
| 1234 | mfd_remove_devices(&pcidev->dev); | 1240 | mfd_remove_devices(&pcidev->dev); |
| 1235 | 1241 | ||
