Bug 199105 - Cherry trail: sdhci-acpi not recognising eMMC (with commit that stopped it working)
Summary: Cherry trail: sdhci-acpi not recognising eMMC (with commit that stopped it wo...
Alias: None
Product: Drivers
Classification: Unclassified
Component: MMC/SD (show other bugs)
Hardware: x86-64 Linux
: P1 normal
Assignee: drivers_mmc-sd
Depends on:
Reported: 2018-03-13 11:24 UTC by Luke Ross
Modified: 2018-03-21 22:34 UTC (History)
1 user (show)

See Also:
Kernel Version: 4.16-rc5
Tree: Mainline
Regression: No

dmesg (59.52 KB, text/plain)
2018-03-21 08:54 UTC, Luke Ross
/proc/interrupts (5.38 KB, text/plain)
2018-03-21 08:55 UTC, Luke Ross
grep -H . /sys/kernel/irq/0/* (202 bytes, text/plain)
2018-03-21 08:55 UTC, Luke Ross

Description Luke Ross 2018-03-13 11:24:33 UTC
I have an Intel Cherry-Trail based tablet which runs a 4.13 kernel without issue. It has two devices bound to sdhci-acpi - an internal 32GB eMMC (mmc0) and an SD card slot (mmc1).

Booting on 4.16-rc series kernels results in an error -22 on loading sdhci-acpi and so the eMMC is not available and the machine cannot get past the initramfs.

I have tracked this issue down to commit 1b7ba57ecc864173ef42fff7f8c2e9a880b42bd2 :

"mmc: sdhci-acpi: Handle return value of platform_get_irq"

Reverting this change and replacing it with a dev_err to log host->irq reveals that host->irq is being set to zero - however the eMMC works fine despite the apparent lack of IRQ - the machine continues to boot normally and is perfectly usable.

Under the working 4.13 kernel, both mmc0 and mmc1 are listed as using "ADMA" transfer - /proc/interrupts reveals that mmc1 (the slot) does have an interrupt but mmc0 (the on-board eMMC) doesn't.

Is is possible for the eMMC to not require an interrupt? It appears to function fine without one on both the 4.13 kernel and the patched 4.16-rc kernel.
Comment 1 Thorsten Leemhuis 2018-03-19 10:41:13 UTC
JFYI: I added this report to the list of regressions in 4.16.
Comment 2 Thorsten Leemhuis 2018-03-19 10:43:44 UTC
A lot of kernel developer do not use bugzilla, thus you shoul report your issue by mail. Best way in this case: Contact the developers that handled 1b7ba57ecc864173ef42fff7f8c2e9a880b42bd2:
   Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
    Acked-by: Adrian Hunter <adrian.hunter@intel.com>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Also CC lkml and linux-mmc@vger.kernel.org please.
Comment 3 Luke Ross 2018-03-21 08:54:46 UTC
Created attachment 274833 [details]
Comment 4 Luke Ross 2018-03-21 08:55:13 UTC
Created attachment 274835 [details]
Comment 5 Luke Ross 2018-03-21 08:55:43 UTC
Created attachment 274837 [details]
grep -H . /sys/kernel/irq/0/*
Comment 6 Luke Ross 2018-03-21 10:19:48 UTC
A patch to fix this has been applied to the linux-mmc fixes branch, commit 	d58ac803cfbb92ede501409dd6afe9abb111d4f1 - "mmc: sdhci-acpi: Fix IRQ 0". I will test this patch (to double-check) in the next day or two.
Comment 7 Luke Ross 2018-03-21 22:34:14 UTC
d58ac803cfbb92ede501409dd6afe9abb111d4f1 verified on the tablet in question.

Note You need to log in before you can comment on or make changes to this bug.