mcp23s08: invalid spi-present-mask in 6.18.39

Abierto
#7,561 8 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
68/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
c, linux

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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/

Lenguaje dominante
C
Estrellas
13.3k
Forks
5.5k
Merge medio
3 d 20 h
PR fusionados (30 d)
27

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de raspberrypi/linux

Todos los issues de raspberrypi/linux

Issues similares

Más issues de C

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.