mcp23s08: invalid spi-present-mask in 6.18.39

Offen
#7,561 8 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
68/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
c, linux

Rechercherichtung

Start by inspecting the linked commit 3fdcca838f971 and the mcp23s08 driver code that reports “invalid spi-present-mask.” Reproduce the behavior with the supplied device-tree values on a Raspberry Pi 4, then verify that the original mask is accepted and both GPIO expanders work without the dmesg error.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Describe the bug

After upgrading from 6.18.34 to 6.18.39, my 2 mcp23s08 gpio expanders are not working anymore.

In dmesg I get this:

[ 6.025048] mcp23s08 spi0.0: invalid spi-present-mask

/proc/device-tree/soc/spi@7e204000/mcp23s08@0 $ xxd < microchip,spi-present-mask
00000000: 0000 0003

The mcp23s08 part of my dts file, looks like this:

        mcp23s08@0 {
            compatible = "microchip,mcp23s08";
            microchip,spi-present-mask = <3>;
            gpio-controller;
            #gpio-cells = <2>;
            interrupt-parent = <&gpio>;
            interrupts = <23 2>;
            interrupt-controller;
            #interrupt-cells = <2>;
            reg = <0>;
            spi-max-frequency = <10000000>;
        };

If I change spi-present-mask, to this:
microchip,spi-present-mask = <0x03000000>;

/proc/device-tree/soc/spi@7e204000/mcp23s08@0 $ xxd < microchip,spi-present-mask
00000000: 0300 0000

It works again.

The problem seems to be this commit:
https://github.com/raspberrypi/linux/commit/3fdcca838f971

Steps to reproduce the behaviour

Upgrade from 6.18.34 to 6.18.39

Device (s)

Raspberry Pi 4 Mod. B

System

$ cat /etc/rpi-issue
Raspberry Pi reference 2025-12-04
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 4997bf4e4e49bc3305eb182a4a08bd023529da04, stage2

$ vcgencmd version
May 21 2026 11:20:25
Copyright (c) 2012 Broadcom
version 288930ab4712b99596f32732664aaaeb881ef1e0 (clean) (release) (start)

$ uname -a
Linux prod-test 6.18.39+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.18.39-1+rpt1 (2026-07-29) aarch64 GNU/Linux

Logs

[ 6.025048] mcp23s08 spi0.0: invalid spi-present-mask

Additional context

https://lore.kernel.org/all/CAD++jLkmOHF8sPa2OMW9QF3+MHaFWtmpsZje0UU2q0EaN4OExA@mail.gmail.com/

Vorherrschende Sprache
C
Sterne
13.3k
Forks
5.5k
Ø Merge
3 T. 20 Std.
Gemergte PRs (30 T.)
27

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus raspberrypi/linux

Alle Issues in raspberrypi/linux

Ähnliche Issues

Weitere Issues zu C

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.