diff options
| author | 2022-10-10 17:08:28 +0200 | |
|---|---|---|
| committer | 2022-10-11 08:50:44 +0200 | |
| commit | 455561fb618fde40558776b5b8435f9420f335db (patch) | |
| tree | bbbe1b42e923a4dd8f7c847f53ffd21803ccb4b5 /tools/perf/util/include/linux/git:/ssh:/git@git.zx2c4.com | |
| parent | can: kvaser_usb: Fix use of uninitialized completion (diff) | |
| download | linux-dev-455561fb618fde40558776b5b8435f9420f335db.tar.xz linux-dev-455561fb618fde40558776b5b8435f9420f335db.zip | |
can: kvaser_usb_leaf: Fix TX queue out of sync after restart
The TX queue seems to be implicitly flushed by the hardware during
bus-off or bus-off recovery, but the driver does not reset the TX
bookkeeping.
Despite not resetting TX bookkeeping the driver still re-enables TX
queue unconditionally, leading to "cannot find free context" /
NETDEV_TX_BUSY errors if the TX queue was full at bus-off time.
Fix that by resetting TX bookkeeping on CAN restart.
Tested with 0bfd:0124 Kvaser Mini PCI Express 2xHS FW 4.18.778.
Cc: stable@vger.kernel.org
Fixes: 080f40a6fa28 ("can: kvaser_usb: Add support for Kvaser CAN/USB devices")
Tested-by: Jimmy Assarsson <extja@kvaser.com>
Signed-off-by: Anssi Hannula <anssi.hannula@bitwise.fi>
Signed-off-by: Jimmy Assarsson <extja@kvaser.com>
Link: https://lore.kernel.org/all/20221010150829.199676-4-extja@kvaser.com
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'tools/perf/util/include/linux/git:/ssh:/git@git.zx2c4.com')
0 files changed, 0 insertions, 0 deletions
