Hi Ulf, Jaehoon, Thanks for your comments, I will update and send a new Patch.
> On 05/27/2015 7:20 AM, Jaehoon Chung Wrote: > > Hi, Pradu. > > Sorry for late. No Problem. > I will wait for your next version than i will check yours. > To Ulf. > > Thanks for review! > > Best Regards, > Jaehoon Chung > > On 05/22/2015 10:21 PM, Ulf Hansson wrote: > > On 18 May 2015 at 16:23, Prabu Thangamuthu <prab...@synopsys.com> > wrote: > >> Removing dw_mmc driver immediately after inserting the dw_mmc driver > >> is > > > > I guess it hangs even if you remove it after a couple of days? :-) > > > > Perhaps makes this a bit more clear? > > > >> getting hung for eMMC device. Root cause for this issue is, > >> dw_mci_remove will disable all the interrupts then it will call > dw_mci_cleanup_slot. > >> dw_mci_cleanup_slot is issuing CMD6 to disable boot partition access > >> and it's 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. > > > > /s dw_mci_remove / dw_mci_remove() > > > >> > >> Signed-off-by: Prabu Thangamuthu <prab...@synopsys.com> > > > > This patch looks good overall, but please send a new version with > > updated changelog. Moreover, please use "mmc: dw_mmc:" as prefix for > > the commit message header. > > > > Kind regards > > Uffe > > > >> --- > >> drivers/mmc/host/dw_mmc.c | 6 +++--- > >> 1 files changed, 3 insertions(+), 3 deletions(-) > >> > >> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c > >> index 5f5adaf..f0a0aff 100644 > >> --- a/drivers/mmc/host/dw_mmc.c > >> +++ b/drivers/mmc/host/dw_mmc.c > >> @@ -2941,15 +2941,15 @@ void dw_mci_remove(struct dw_mci *host) { > >> int i; > >> > >> - mci_writel(host, RINTSTS, 0xFFFFFFFF); > >> - mci_writel(host, INTMASK, 0); /* disable all mmc interrupt first */ > >> - > >> for (i = 0; i < host->num_slots; i++) { > >> dev_dbg(host->dev, "remove slot %d\n", i); > >> if (host->slot[i]) > >> dw_mci_cleanup_slot(host->slot[i], i); > >> } > >> > >> + mci_writel(host, RINTSTS, 0xFFFFFFFF); > >> + mci_writel(host, INTMASK, 0); /* disable all mmc interrupt > >> + first */ > >> + > >> /* disable clock to CIU */ > >> mci_writel(host, CLKENA, 0); > >> mci_writel(host, CLKSRC, 0); > >> -- > >> 1.7.6.5 > > Thanks & Regards, Prabu Thangamuthu.