[SRU][J][PATCH 0/1] UBUNTU SAUCE: spi: zynqmp-gqspi: fix broken driver

Stewart Hore stewart.hore at canonical.com
Wed Jan 7 07:47:21 UTC 2026


BugLink: https://bugs.launchpad.net/bugs/2137603

SRU Justification:

[Impact]

The FPGA userspace firmware update tool is broken due to a change in the
spi-zynqmp-gqspi driver.

```
ubuntu at kria:~$ sudo image_update -i BOOT-k26-smk-v1.04-20250410071436.bin
[sudo] password for ubuntu:
Marking last booted image as bootable
Reading Image file
Updating Image A
Marking target image as non bootable
Writing Image to Image A partition
[ 7772.972367] zynqmp-qspi ff0f0000.spi: Chip select timed out
[ 7773.976364] zynqmp-qspi ff0f0000.spi: Chip select timed out
[ 7774.980366] zynqmp-qspi ff0f0000.spi: Chip select timed out
```

With the commit reverted the tool works again:
```
$ sudo image_update -i BOOT-k26-smk-v1.04-20250410071436.bin
[sudo] password for ubuntu:
Marking last booted image as bootable
Reading Image file
Updating Image A
Marking target image as non bootable
Writing Image to Image A partition
Marking target image as non bootable and requested image
Clearing multiboot register value
BOOT-k26-smk-v1.04-20250410071436.bin successfully updated to Image A partition
```


[Fix]

A bisect identified commit `90b759a09f30d612844be245ff7e80c67eb22be5`
changed the IRQ handler which broke the spi-zynqmp-gqspi driver.
Reverting this commit fixes the issue.


[Test Plan]

The revert commit has been tested locally on KV260 Rev 1 #202405-34037
in the linux-xilinx-zynqmp kernel. The test cases above show how to test
the changes.

[Where problems could occur]

This fixes a regression. Further regressions can be considered low. The
offending commit was to correct behaviour in the driver in the 6.x
kernel family.

[Other Info]

This can be considered low priority because the change has been applied
to the linux-xilinx-zynqmp kernel already to resolve the issue on
hardware. This change fixes the problem in the parent kernel as well.

I have not investigated if adding further upstream commits from 6.x
kernel back to 5.15 resolves the issue without reverting the commit. I
ran a bisect to identify the offending commit; it is isolated to
spi-zynqmp-gqspi driver changes and can be easily reverted.

Stewart Hore (1):
  UBUNTU: SAUCE: Revert "spi: zynqmp-gqspi: Always acknowledge
    interrupts"

 drivers/spi/spi-zynqmp-gqspi.c | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

--
2.51.0




More information about the kernel-team mailing list