• Hauke Mehrtens's avatar
    spi: double time out tolerance · dc95f4a3
    Hauke Mehrtens authored
    commit 833bfade upstream.
    
    The generic SPI code calculates how long the issued transfer would take
    and adds 100ms in addition to the timeout as tolerance. On my 500 MHz
    Lantiq Mips SoC I am getting timeouts from the SPI like this when the
    system boots up:
    
    m25p80 spi32766.4: SPI transfer timed out
    blk_update_request: I/O error, dev mtdblock3, sector 2
    SQUASHFS error: squashfs_read_data failed to read block 0x6e
    
    After increasing the tolerance for the timeout to 200ms I haven't seen
    these SPI transfer time outs any more.
    The Lantiq SPI driver in use here has an extra work queue in between,
    which gets triggered when the controller send the last word and the
    hardware FIFOs used for reading and writing are only 8 words long.
    Signed-off-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    Signed-off-by: default avatarAmit Pundir <amit.pundir@linaro.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    dc95f4a3
spi.c 88.4 KB