Bug 209397
Summary: | CQHCI support is broken on Irbis NB111, prevent laptop boot | ||
---|---|---|---|
Product: | Drivers | Reporter: | RussianNeuroMancer (russianneuromancer) |
Component: | MMC/SD | Assignee: | drivers_mmc-sd |
Status: | RESOLVED CODE_FIX | ||
Severity: | high | CC: | jwrdegoede |
Priority: | P1 | ||
Hardware: | Intel | ||
OS: | Linux | ||
Kernel Version: | 4.16.0 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: |
Linux 5.4 boot
Patched Linux 5.8 boot Patched sdhci-pci-core.c Irbis NB111 dmidecode [PATCH] mmc: sdhci: Workaround broken command queuing on Intel GLK based IRBIS models Patched Linux 5.8 boot (attempt 2) |
Description
RussianNeuroMancer
2020-09-25 22:44:29 UTC
Created attachment 292653 [details] Patched Linux 5.8 boot I also noticed there is bugreport https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1848883 and following workaround https://github.com/torvalds/linux/commit/bedf9fc01ff1f40cfd1a79ccacedd9f3cd8e652a so I tried to replace "dmimatch(DMIBIOS_VENDOR, "LENOVO");" with "dmimatch(DMIBIOS_VENDOR, "IRBIS");" in Linux 5.8.11 sources - but this solution didn't work out. I installed patched kernel on system running from eMMC, but attempt to boot it result in continuously printed following errors: [ 34.838058] mmc0: running CQE recovery [ 34.838355] mmc0: running CQE recovery [ 34.838608] mmc0: running CQE recovery [ 34.838815] blkupdaterequest: I/O error, dev mmcblk0, sector 53454720 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0 [ 34.841166] mmc0: running CQE recovery [ 34.841398] mmc0: running CQE recovery [ 34.841647] mmc0: running CQE recovery [ 34.841867] blkupdaterequest: I/O error, dev mmcblk0, sector 53454720 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0 [ 34.844072] Buffer I/O error on dev mmcblk0p2, logical block 6553584, async page read [ 34.850888] mmc0: running CQE recovery [ 34.851178] mmc0: running CQE recovery [ 34.851436] mmc0: running CQE recovery [ 34.851660] blkupdaterequest: I/O error, dev mmcblk0, sector 53454720 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0 [ 34.854497] mmc0: running CQE recovery [ 34.854730] mmc0: running CQE recovery [ 34.854965] mmc0: running CQE recovery [ 34.855181] blkupdaterequest: I/O error, dev mmcblk0, sector 53454720 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0 [ 34.857898] Buffer I/O error on dev mmcblk0p2, logical block 6553584, async page read Then it give up and drop to initramfs shell. Full dmesg of this boot is attached. Also, just to be sure, you can verify that I didn't make some stupid mistake. Below I attached dmidecode output from affected device where you can verify that "Manufacturer: IRBIS" in both of "System Information" and "Base Board Information", and also attached patched sdhci-pci-core.c where I replaced LENOVO with IRBIS, so you can double check this part too. Created attachment 292655 [details]
Patched sdhci-pci-core.c
Created attachment 292657 [details]
Irbis NB111 dmidecode
I just checked your patched version and the problem is that you changed the dmi_match to: + dmi_match(DMI_BIOS_VENDOR, "IRBIS"); Which matches on the *BIOS* vendor and the dmidecode says: BIOS Information Vendor: American Megatrends Inc. So yeah, the change you are doing will not make a difference. I will prepare a fixed patch for you to try and attach it here. Created attachment 292671 [details]
[PATCH] mmc: sdhci: Workaround broken command queuing on Intel GLK based IRBIS models
Please give this patch a try. Once I have received positive testing feedback on this patch I will submit it upstream.
Created attachment 292673 [details] Patched Linux 5.8 boot (attempt 2) > Please give this patch a try. Yes, it works, thank you!. dmesg is attached, just in case. > Once I have received positive testing feedback on this patch I will submit it > upstream. Is there a chance to get it into stable branches as well? Since it's a regression that break OS upgrade (Ubuntu 18.04->20.04) for some people right now. (In reply to RussianNeuroMancer from comment #7) > Yes, it works, thank you!. Thank you for testing, I have submitted the patch upstream. > Is there a chance to get it into stable branches as well? Since it's a > regression that break OS upgrade (Ubuntu 18.04->20.04) for some people right > now. It has a Fixes tag, so it should get cherry-picked into the various stable kernel series. Good to know, thank you! |