Hi Alex & Adam, I have send the patch. Please check it. Attachment is the patch file. BR Peter.Guo -----Original Message----- From: Alex Ballas [mailto:alex@xxxxxxxxxx] Sent: Wednesday, December 16, 2015 5:49 PM To: Peter Guo; adam8157@xxxxxxxxx Cc: ulf.hansson@xxxxxxxxxx; linux-mmc@xxxxxxxxxxxxxxx Subject: Re: 1217:8520 [Dell Latitude E7450] O2 Micro, SD/MMC Card Reader doesn't work Re-adding Adam as the initial mail address is bouncing. Kind Regards, Alex On Wed, Dec 16, 2015 at 5:42 AM, Peter Guo <peter.guo@xxxxxxxxxxxxxx> wrote: > Hi Alex, > > Thanks for your Test, According to your info. > I find the root cause of this issue is quirks > SDHCI_QUIRK2_CLEAR_TRANSFERMODE_REG_BEFORE_CMD is not suitable for our host for all cases. Our host just want to clear SDHCI_TRANS_DMA bit only. > > to Adam, > > I will commit new patch this week, please check it. > > > BR > Peter.Guo > > -----Original Message----- > From: Alex Ballas [mailto:alex@xxxxxxxxxx] > Sent: Saturday, December 12, 2015 10:04 PM > To: Peter Guo; adam.lee@xxxxxxxxxxxxx; ulf.hansson@xxxxxxxxxx > Cc: linux-mmc@xxxxxxxxxxxxxxx > Subject: 1217:8520 [Dell Latitude E7450] O2 Micro, SD/MMC Card Reader > doesn't work > > Hello, > > I have a Dell Latitude E7450 with a O2 Micro, SD/MMC Card Reader [1217:8520] card reader. When I insert my Sandisk ultra 64GB microSD (with a SD card adapter) I get the following errors. > > Dmesg output after I insert the SD card: > > [ 306.054203] sdhci: Timeout waiting for Buffer Read Ready interrupt > during tuning procedure, falling back to fixed sampling clock [ > 306.055982] mmc0: tuning execution failed [ 306.055987] mmc0: error > -5 whilst initialising SD card [ 306.466185] sdhci: Timeout waiting > for Buffer Read Ready interrupt during tuning procedure, falling back > to fixed sampling clock [ 306.467964] mmc0: tuning execution failed [ > 306.467970] mmc0: error -5 whilst initialising SD card [ 306.890205] > sdhci: Timeout waiting for Buffer Read Ready interrupt during tuning > procedure, falling back to fixed sampling clock [ 306.891993] mmc0: > tuning execution failed [ 306.892005] mmc0: error -5 whilst > initialising SD card [ 307.330197] sdhci: Timeout waiting for Buffer > Read Ready interrupt during tuning procedure, falling back to fixed > sampling clock [ 307.331980] mmc0: tuning execution failed [ > 307.331990] mmc0: error -5 whilst initialising SD card > > I used the latest mainline kernel available to me [1] $ uname -a Linux > cosmo 4.4.0-040400rc4-generic #201512061930 SMP Mon Dec 7 > 00:32:31 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux > > It was working fine for kernel versions older than 4.1.8. > > I did a bisection and here is the first bad commit > >> e6c69099f63c84e1825c0f742a76ff4a8afeaa9b is the first bad commit >> commit e6c69099f63c84e1825c0f742a76ff4a8afeaa9b >> Author: Adam Lee <adam.lee@xxxxxxxxxxxxx> >> Date: Mon Aug 3 14:33:28 2015 +0800 >> >> mmc: sdhci-pci: set the clear transfer mode register quirk for >> O2Micro >> >> commit 143b648ddf1583905fa15d32be27a31442fc7933 upstream. >> >> This patch fixes MMC not working issue on O2Micro/BayHub Host, which >> requires transfer mode register to be cleared when sending no DMA >> command. >> >> Signed-off-by: Peter Guo <peter.guo@xxxxxxxxxxxxxx> >> Signed-off-by: Adam Lee <adam.lee@xxxxxxxxxxxxx> >> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> >> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > I originally logged this issue to the Ubuntu bug tracker[2], but it appears to be an upstream issue and so I was instructed to report here. > Please note that I use the latest Bios version for the model. > > $ sudo dmidecode -s bios-version;sudo dmidecode -s bios-release-date > A08 > 10/28/2015 > > [1] http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4-rc4-wily/ > [2] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1523178 > > Thanks, > Alex
Attachment:
0001-mmc-sdhci-Add-QUIRK2_CLEAR_TRANSFERMODE_DMA_BEFORE_CMD.patch
Description: 0001-mmc-sdhci-Add-QUIRK2_CLEAR_TRANSFERMODE_DMA_BEFORE_CMD.patch