• Ahmad Fatoum's avatar
    mtd: spi-nor: fsl-quadspi: Don't let -EINVAL on the bus · 00041227
    Ahmad Fatoum authored
    fsl_qspi_get_seqid() may return -EINVAL, but fsl_qspi_init_ahb_read()
    doesn't check for error codes with the result that -EINVAL could find
    itself signalled over the bus.
    
    In conjunction with the LS1046A SoC's A-009283 errata
    ("Illegal accesses to SPI flash memory can result in a system hang")
    this illegal access to SPI flash memory results in a system hang
    if userspace attempts reading later on.
    
    Avoid this by always checking fsl_qspi_get_seqid()'s return value
    and bail out otherwise.
    
    Fixes: e46ecda7 ("mtd: spi-nor: Add Freescale QuadSPI driver")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarAhmad Fatoum <a.fatoum@pengutronix.de>
    Signed-off-by: default avatarBoris Brezillon <boris.brezillon@bootlin.com>
    00041227
fsl-quadspi.c 30.5 KB