Re: [PATCH 0/3] mmc: Lenovo N22 Braswell SD slot fixes

Nelson Johnson
2026-03-24T00:27:53Z

On Sat, Mar 21, 2026 at 05:14:44PM +0100, Hans de Goede wrote:
> Have you looked for a BIOS update from Lenovo? Also have you tried
> to do "load setup defaults" or something similar in the BIOS?
>
> So the first thing to do would be to test your original patches
> without the patch to disable the INT33BB probing in the sdhci-acpi
> code.
>
> And yes trying to override _STA for 80860F14:01 is an interesting
> experiment.
>
> But first do the bios-update (if available) + load-setup-defaults +
> save thingie please.

Results of all three tests follow.

BIOS update check:

The N22 is running BIOS version 0YCN26WW dated 2019-03-11. This is
the latest version available from Lenovo for this model — no newer
version exists. fwupd confirms no System Firmware updates are
available. Load Setup Defaults was performed and all visible BIOS
settings were reset. ACPI device status was unchanged after reset:

80860F14:00 status: 15
80860F14:01 status: 0
INT33BB:00 status: 15

Stale NVRAM does not appear to be the cause. This BIOS was present
during all previous testing reported in this thread.

Patches 1 and 2 without Patch 3:

Tested on a kernel built from the vanilla 6.19.6 base with only
Patches 1 and 2 applied. The SD slot works correctly without
Patch 3. sdhci-pci binds 0000:00:12.0, BusMaster is enabled, and
the 128GB SDXC card is detected at UHS-I SDR104. INT33BB:00 still
fails to initialize as a non-removable card but does not prevent
sdhci-pci from owning the controller. Patch 3 is not necessary
on this machine.

[ 3.055743] mmc0: SDHCI controller on ACPI [INT33BB:00] using ADMA
[ 3.063153] sdhci-pci 0000:00:12.0: SDHCI controller found [8086:2296] (rev 21)
[ 3.063881] mmc1: SDHCI controller on PCI [0000:00:12.0] using ADMA
[ 3.248057] mmc0: Failed to initialize a non-removable card
[ 4.007369] mmc1: new UHS-I speed SDR104 SDXC card at address aaaa
[ 4.179918] mmcblk1: mmc1:aaaa SD128 119 GiB

Control: BusMaster+
Kernel driver in use: sdhci-pci

override _STA for 80860F14:01 experiment:

Tested on a vanilla 6.19.6 kernel with a PRESENT_ENTRY_HID entry
added to the override_status_ids table in drivers/acpi/x86/utils.c:

PRESENT_ENTRY_HID("80860F14", "3", INTEL_ATOM_AIRMONT, {
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
DMI_MATCH(DMI_BOARD_NAME, "N22"),
}),

The override did not change 80860F14:01 status. It remained at 0
after boot. sdhci-pci did not bind, BusMaster stayed off, and the
SD card was not detected. The broken behavior was identical to
vanilla. The override as implemented here did not take effect.

Given that Patches 1 and 2 alone restore full functionality, is
a two-patch v2 series the right next step, or is there something
further you would like to investigate first?