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

Bug#830303: mmc0: Unexpected interrupt 0x04000000.



I tested multiple SD cards in my laptop (Acer Aspire V3-571G) card reader (Broadcom Limited BCM57765/57785). My system uses mostly Debian 10 packages with a few packages from backports (mainly kernel image, systemd, emacs and their dependencies):

kernel: Linux version 5.10.0-0.bpo.9-amd64 (debian-kernel@lists.debian.org) (gcc-8 (Debian 8.3.0-6) 8.3.0, GNU ld (GNU Binutils for Debian) 2.31.1) #1 SMP Debian 5.10.70-1~bpo10+1 (2021-10-10)

The workaround mentioned above also works on my system. I created the "/etc/modprobe.d/sdhci.conf" file containing "options sdhci debug_quirks2=0x4" and had to regenerate initrd images using "sudo update-initramfs -u -k all".

SAMSUNG EVO 64GB MICRO SDXC CARD (DOESN'T WORK WITHOUT THE WORKAROUND) - SYSTEMD JOURNALD - Relevant messages:
kernel: mmc0: new ultra high speed SDR104 SDXC card at address 0001
kernel: mmcblk0: mmc0:0001 EC2QT 59.6 GiB
kernel: mmc0: Timeout waiting for hardware interrupt.
kernel: mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
kernel: mmc0: sdhci: Sys addr:  0x000010c8 | Version:  0x00001502
kernel: mmc0: sdhci: Blk size:  0x00007200 | Blk cnt:  0x00000000
kernel: mmc0: sdhci: Argument:  0x00000000 | Trn mode: 0x0000003b
kernel: mmc0: sdhci: Present:   0x1fff0000 | Host ctl: 0x0000001f
kernel: mmc0: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
kernel: mmc0: sdhci: Wake-up:   0x00000000 | Clock:    0x00000007
kernel: mmc0: sdhci: Timeout:   0x0000000a | Int stat: 0x00000000
kernel: mmc0: sdhci: Int enab:  0x03ff008b | Sig enab: 0x03ff008b
kernel: mmc0: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
kernel: mmc0: sdhci: Caps:      0x176ec8b0 | Caps_1:   0x03002177
kernel: mmc0: sdhci: Cmd:       0x0000123a | Max curr: 0x00000000
kernel: mmc0: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x00000900
kernel: mmc0: sdhci: Resp[2]:   0x00000900 | Resp[3]:  0x00000900
kernel: mmc0: sdhci: Host ctl2: 0x0000804b
kernel: mmc0: sdhci: ADMA Err:  0x00000001 | ADMA Ptr: 0x0000000120943204
kernel: mmc0: sdhci: ============================================
kernel: mmc0: Unexpected interrupt 0x04000000.
kernel: mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
kernel: mmc0: sdhci: Sys addr:  0x00000000 | Version:  0x00001502
kernel: mmc0: sdhci: Blk size:  0x00007200 | Blk cnt:  0x00000000
kernel: mmc0: sdhci: Argument:  0x00000000 | Trn mode: 0x00000033
kernel: mmc0: sdhci: Present:   0x1fff0000 | Host ctl: 0x0000001f
kernel: mmc0: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
kernel: mmc0: sdhci: Wake-up:   0x00000000 | Clock:    0x00000007
kernel: mmc0: sdhci: Timeout:   0x0000000a | Int stat: 0x00000000
kernel: mmc0: sdhci: Int enab:  0x03ff008b | Sig enab: 0x03ff008b
kernel: mmc0: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
kernel: mmc0: sdhci: Caps:      0x176ec8b0 | Caps_1:   0x03002177
kernel: mmc0: sdhci: Cmd:       0x00000d1a | Max curr: 0x00000000
kernel: mmc0: sdhci: Resp[0]:   0x00400900 | Resp[1]:  0x00000000
kernel: mmc0: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
kernel: mmc0: sdhci: Host ctl2: 0x0000800b
kernel: mmc0: sdhci: ADMA Err:  0x00000001 | ADMA Ptr: 0x0000000120943204
kernel: mmc0: sdhci: ============================================

SAMSUNG EVO 64GB MICRO SDXC CARD (WORKS WITH THE WORKAROUND) - SYSTEMD JOURNALD - Relevant messages:
kernel: mmc0: new high speed SDXC card at address 0001
kernel: mmcblk0: mmc0:0001 EC2QT 59.6 GiB
kernel:  mmcblk0: p1
udisksd[597]: Mounted /dev/mmcblk0p1 at /media/USERNAME/disk on behalf of uid 1000 udisksd[597]: Cleaning up mount point /media/USERNAME/disk (device 179:1 is not mounted)
udisksd[597]: Unmounted /dev/mmcblk0p1 on behalf of uid 1000
kernel: mmc0: card 0001 removed

SANDISK ULTRA 16GB MICRO SDHC CARD (DOESN'T WORK WITHOUT THE WORKAROUND) - SYSTEMD JOURNALD - Relevant messages:
kernel: mmc0: new ultra high speed DDR50 SDHC card at address aaaa
kernel: mmcblk0: mmc0:aaaa SL16G 14.8 GiB
AFTER 1 MINUTE:
systemd-udevd[459]: mmc0:aaaa: Worker [493] processing SEQNUM=2742 is taking a long time
AFTER 2 MORE MINUTES I REMOVED THE CARD FROM THE READER:
kernel: mmc0: Card removed during transfer!
kernel: mmc0: Resetting controller.
kernel: ldm_validate_partition_table(): Disk read failed.
kernel: Dev mmcblk0: unable to read RDB block 0
kernel:  mmcblk0: unable to read partition table
kernel: mmc0: card aaaa removed

SANDISK ULTRA 16GB MICRO SDHC CARD (WORKS WITH THE WORKAROUND) - SYSTEMD JOURNALD - Relevant messages:
kernel: mmc0: new high speed SDHC card at address aaaa
kernel: mmcblk0: mmc0:aaaa SL16G 14.8 GiB
kernel:  mmcblk0:
kernel: FAT-fs (mmcblk0): Volume was not properly unmounted. Some data may be corrupt. Please run fsck. udisksd[587]: Mounted /dev/mmcblk0 at /media/USERNAME/disk on behalf of uid 1000 udisksd[587]: Cleaning up mount point /media/USERNAME/disk (device 179:0 is not mounted)
udisksd[587]: Unmounted /dev/mmcblk0 on behalf of uid 1000
kernel: mmc0: card aaaa removed

ADATA 16GB MICRO SDHC CARD (WORKS WITHOUT THE WORKAROUND) - SYSTEMD JOURNALD - Relevant messages:
kernel: mmc0: new high speed SDHC card at address b368
kernel: mmcblk0: mmc0:b368 SD    15.4 GiB
kernel:  mmcblk0:
kernel: FAT-fs (mmcblk0): Volume was not properly unmounted. Some data may be corrupt. Please run fsck. udisksd[596]: Mounted /dev/mmcblk0 at /media/USERNAME/disk on behalf of uid 1000 udisksd[596]: Cleaning up mount point /media/USERNAME/disk (device 179:0 is not mounted)
udisksd[596]: Unmounted /dev/mmcblk0 on behalf of uid 1000
kernel: mmc0: card b368 removed

ADATA 32GB SDHC CARD (WORKS WITHOUT THE WORKAROUND) - SYSTEMD JOURNALD - Relevant messages:
kernel: mmc0: Skipping voltage switch
kernel: mmc0: new high speed SDHC card at address b368
kernel: mmcblk0: mmc0:b368 SD    30.2 GiB
kernel:  mmcblk0: p1
kernel: FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck. udisksd[596]: Mounted /dev/mmcblk0p1 at /media/USERNAME/NIKON on behalf of uid 1000 udisksd[596]: Cleaning up mount point /media/USERNAME/NIKON (device 179:1 is not mounted)
udisksd[596]: Unmounted /dev/mmcblk0p1 on behalf of uid 1000
kernel: mmc0: card b368 removed

All three MICRO SD cards were connected via ADATA and SAMSUNG MICRO SD to SD adapters as the card reader slot only accepts SD cards. But it seems that various SD cards or adapters brands do not make a difference, instead the "ultra high speed" mode selected for more modern SD cards seems to cause the buggy behavior (the workaround forces such SD cards to use the slower "high speed" mode only).

Regards,
Bakhelit


Reply to: