diff options
author | Prabu Thangamuthu <Prabu.T@synopsys.com> | 2015-05-28 12:21:06 (GMT) |
---|---|---|
committer | Ulf Hansson <ulf.hansson@linaro.org> | 2015-06-12 07:31:01 (GMT) |
commit | 048fd7e665cef45630102dc8bf81971fbc82e52c (patch) | |
tree | 223c1925b70c5d5610285f8852db60a31f6a388c /drivers/mmc/card | |
parent | 5fd26c7ecb32082745b0bd33c8e35badd1cb5a91 (diff) | |
download | linux-048fd7e665cef45630102dc8bf81971fbc82e52c.tar.xz |
mmc: dw_mmc: insmod followed by rmmod will hung for eMMC
Remove module of dw_mmc driver will hung for eMMC devices if we follow the
steps which are listed below,
insmod dw_mmc.ko
insmod dw_mmc-pci.ko
rmmod dw_mmc-pci.ko
The root cause for this issue is, dw_mci_remove() will disable all the
interrupts by programming 0x0 to INTMASK register then it will call
dw_mci_cleanup_slot(). But dw_mci_cleanup_slot() is issuing CMD6 to
disable the eMMC boot partition and it is waiting for Command Complete
interrupt. Since INTMASK was already cleared by dw_mci_remove(), Command
Complete interrupt is not reaching the system. This leads to process hung.
Signed-off-by: Prabu Thangamuthu <prabu.t@synopsys.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc/card')
0 files changed, 0 insertions, 0 deletions