Re: mmci.c regression

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 07/02/2012 03:07 PM, Russell King - ARM Linux wrote:
> On Mon, Jul 02, 2012 at 02:14:26PM +0200, Roland Stigge wrote:
>> Hi,
>>
>> I'm getting a strange regression with mmci.c at v3.5-rc4 -> v3.5-rc5: Bootup:
>>[...]
> 
> Nothing changed with the mmci driver between these two, but there is this
> change:
> 
> commit d380443cd0271903bf9516bc04cead81676be034
> Author: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx>
> Date:   Wed Jun 13 17:10:43 2012 +0530
> 
>     mmc: block: fix the data timeout issue with ACMD22
> 
> You could try reverting that and seeing whether that fixes it, otherwise
> it's going to have to be a git bisect.
> 
> There's three things that would cause an -EIO error:
> 
> 1. if DMA is being used, and there is data left in the FIFO after the DMA
>    has allegedly completed.
> 2. an underrun on sending data to the card (you're trying to receive so
>    this doesn't apply)
> 3. an overrun on receiving data from the card (eg, the PIO interrupt handling
>    is not fast enough to keep up with the data coming off the card.)
> 
> I suspect (3) is your problem, and finding out what caused that is
> definitely going to be a matter for bisect - and this will probably be
> where you'd probably end up wishing that running all IRQ handlers
> exclusively wasn't done now.

Reverting the above commit didn't fix it. But your point about exclusive
interrupt handling is correct. As I'm posting below, the actual boot
log shows some usb messages interspersed in v3.5-rc5, which wasn't this way in
v3.5-rc4.

Indeed, disabling USB (just via dt) fixes the problem.

What would be the next logical step? Optimizing USB interrupt handling?
Serializing driver initialization on bootup somehow?

Thanks in advance!

And sorry for oversimplifying my initial report. ;-)

Roland


mmci-pl18x 20098000.sd: mmc0: PL180 manf 41 rev0 at 0x20098000 irq 15,13 (pio)
mmci-pl18x 20098000.sd: no DMA platform data
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP: cubic registered
NET: Registered protocol family 10
sit: IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
VFP support v0.3: implementor 41 architecture 1 part 10 variant 9 rev 1
ssp-pl022 dev:ssp0: ARM PL022 driver, device ID: 0x00041022
rtc-lpc32xx 40024000.rtc: setting system clock to 1970-01-01 02:03:27 UTC (7407)
pl022: mapped registers from 0x20084000 to f2084000
at25 spi0.0: 32 KByte at25 eeprom, pagesize 64
mmc0: new SD card at address bd34
IP-Config: Guessing netmask 255.255.255.0
IP-Config: Complete:
mmcblk0: mmc0:bd34 SD02G 1.83 GiB (ro)
     device=eth0, addr=192.168.32.44, mask=255.255.255.0, gw=255.255.255.255
     host=192.168.32.44, domain=, nis-domain=(none)
ISP1301 Vendor ID  : 0x04cc
     bootserver=255.255.255.255, rootserver=192.168.32.2, rootpath=
mmcblk0: error -110 sending status command, retrying
ISP1301 Product ID : 0x1301
ALSA device list:
mmcblk0: error -5 transferring data, sector 0, nr 8, cmd response 0x0, card status 0x900
mmcblk0: retrying using single block read
  No soundcards found.
ISP1301 Version ID : 0x0210
usb-ohci 31020000.ohci: at 0xf3120000, irq 0
usb-ohci 31020000.ohci: nxp OHCI
usb-ohci 31020000.ohci: new USB bus registered, assigned bus number 1
usb-ohci 31020000.ohci: irq 59, io mem 0x31020000
mmcblk0: error -5 transferring data, sector 0, nr 8, cmd response 0x0, card status 0x0
end_request: I/O error, dev mmcblk0, sector 0
Buffer I/O error on device mmcblk0, logical block 0
 mmcblk0: unable to read partition table
hub 1-0:1.0: USB hub found
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux