mcp23s08: invalid spi-present-mask in 6.18.39

Aberta
#7,561 8 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
68/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
c, linux

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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/

Linguagem predominante
C
Estrelas
13.3k
Forks
5.5k
Merge médio
3d 20h
PRs com merge (30d)
27

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de raspberrypi/linux

Todas as issues de raspberrypi/linux

Issues semelhantes

Mais issues de C

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.