mcp23s08: invalid spi-present-mask in 6.18.39

Ouverte
#7,561 8 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
68/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Calme
Stack technique
c, linux

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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/

Langage dominant
C
Étoiles
13.3k
Forks
5.5k
Merge moyen
3 j 20 h
PR mergées (30 j)
27

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de raspberrypi/linux

Toutes les issues de raspberrypi/linux

Issues similaires

Plus d'issues C

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.