Skip to content

GL9755 SD card reader (17a0:9755): hwdb autosuspend workaround insufficient - card detection silent on boot, module reload required #69

@mkurz

Description

@mkurz

Summary

The hwdb workaround introduced in f3dde321 prevents the SError crash, but the GL9755 SD card reader still fails to detect card insertions on every boot. A manual sdhci_pci module reload is required to make the reader functional.

Hardware

  • MacBook Pro M1 (14-inch)
  • Asahi kernel 6.18.15 (with fairydust branch applied)

Observed behaviour

After a clean boot, inserting an SD card produces no output in dmesg or journalctl. The reader is completely silent.

lspci -k confirms the driver is bound:

02:00.0 SD Host controller: Genesys Logic, Inc GL9755 SD Host Controller (rev 01)
        Kernel driver in use: sdhci-pci

The hwdb rule is correctly applied:

$ udevadm info /sys/bus/pci/devices/0000:02:00.0 | grep -i autosuspend
E: ID_AUTOSUSPEND=0

The device is active (not suspended):

$ cat /sys/bus/pci/devices/0000:02:00.0/power/runtime_status
active

The mmc host mmc0 is registered and linked to the GL9755, but its sysfs directory is nearly empty - no rescan attribute, no card-related attributes. dmesg | grep -iE "sdhci|mmc" returns nothing after boot, despite the journal showing correct initialization at boot time:

kernel: sdhci-pci 0000:02:00.0: SDHCI controller found [17a0:9755] (rev 1)
kernel: mmc0: SDHCI controller on PCI [0000:02:00.0] using ADMA 64-bit

Workaround

Reloading the sdhci_pci module after boot restores full functionality:

sudo modprobe -r sdhci_pci && sudo modprobe sdhci_pci

After this, card insertion is detected immediately and the reader works normally (this was done while card is inserted already).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions