Wind River Support Network

HomeDefectsLIN9-4376
Fixed

LIN9-4376 : CLONE - Timeout bug in kernel SPI driver (spi-pl022.c)

Created: Jun 13, 2017    Updated: Sep 4, 2017
Resolved Date: Aug 10, 2017
Found In Version: unknown
Fix Version: 9.0.0.8
Severity: Standard
Applicable for: Wind River Linux 9
Component/s: BSP

Description

We found a bug in Linux kernel (axxiaarm64 BSP) SPI driver (spi-pl022.c).

When running SPI in polling mode (default) the driver has a hardcoded timeout on 1 second (regardless of transfer size and frequency).
We get the following kernel error when trying to read large chunks (1MB) from a SPI NOR flash:

ssp-pl022 8080100000.ssp: do_polling_transfer: timeout!

IMHO the driver timeout should be based on transfer size and configured SPI bus clock frequency. 
Live chat
Online