• Stefan Wahren's avatar
    net: qca_spi: Fix race condition in spi transfers · e65a9e48
    Stefan Wahren authored
    With performance optimization the spi transfer and messages of basic
    register operations like qcaspi_read_register moved into the private
    driver structure. But they weren't protected against mutual access
    (e.g. between driver kthread and ethtool). So dumping the QCA7000
    registers via ethtool during network traffic could make spi_sync
    hang forever, because the completion in spi_message is overwritten.
    
    So revert the optimization completely.
    
    Fixes: 291ab06e ("net: qualcomm: new Ethernet over SPI driver for QCA700")
    Signed-off-by: default avatarStefan Wahren <stefan.wahren@i2se.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e65a9e48
qca_spi.h 2.37 KB