1
0
Fork 0
alistair23-linux/drivers/net/ethernet/qualcomm
Stefan Wahren e65a9e480e net: qca_spi: Fix race condition in spi transfers
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: 291ab06ecf ("net: qualcomm: new Ethernet over SPI driver for QCA700")
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-09-05 08:09:35 -07:00
..
emac net: qcom/emac: Add missing of_node_put() 2018-06-14 17:01:05 -07:00
rmnet net: drivers/net: Convert random_ether_addr to eth_random_addr 2018-06-23 10:49:14 +09:00
Kconfig drivers: net: ethernet: qualcomm: rmnet: Initial implementation 2017-08-30 11:41:13 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
qca_7k.c net: qca_spi: Fix race condition in spi transfers 2018-09-05 08:09:35 -07:00
qca_7k.h net: qualcomm: move qcaspi_tx_cmd to qca_spi.c 2017-05-30 13:57:29 -04:00
qca_7k_common.c net: qualcomm: make qca_7k_common a separate kernel module 2017-05-30 13:57:30 -04:00
qca_7k_common.h net: qualcomm: add QCA7000 UART driver 2017-05-30 13:57:32 -04:00
qca_debug.c ethernet: Use octal not symbolic permissions 2018-03-26 12:07:49 -04:00
qca_debug.h
qca_spi.c net: qca_spi: Fix race condition in spi transfers 2018-09-05 08:09:35 -07:00
qca_spi.h net: qca_spi: Fix race condition in spi transfers 2018-09-05 08:09:35 -07:00
qca_uart.c net: qualcomm: add QCA7000 UART driver 2017-05-30 13:57:32 -04:00