diff options
author | Max Staudt <[email protected]> | 2022-12-03 01:01:48 +0900 |
---|---|---|
committer | Marc Kleine-Budde <[email protected]> | 2022-12-07 10:32:36 +0100 |
commit | f4a4d121ebecaa6f396f21745ce97de014281ccc (patch) | |
tree | 8c82220f5da6ca21f921b2f88e5d9191ea5dcc0c /net/unix/unix_bpf.c | |
parent | fb855e9f3b6b42c72af3f1eb0b288998fe0d5ebb (diff) |
can: can327: flush TX_work on ldisc .close()
Additionally, remove it from .ndo_stop().
This ensures that the worker is not called after being freed, and that
the UART TX queue remains active to send final commands when the
netdev is stopped.
Thanks to Jiri Slaby for finding this in slcan:
https://lore.kernel.org/linux-can/[email protected]/
A variant of this patch for slcan, with the flush in .ndo_stop() still
present, has been tested successfully on physical hardware:
https://bugzilla.suse.com/show_bug.cgi?id=1205597
Fixes: 43da2f07622f ("can: can327: CAN/ldisc driver for ELM327 based OBD-II adapters")
Cc: "Jiri Slaby (SUSE)" <[email protected]>
Cc: Max Staudt <[email protected]>
Cc: Wolfgang Grandegger <[email protected]>
Cc: Marc Kleine-Budde <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Eric Dumazet <[email protected]>
Cc: Jakub Kicinski <[email protected]>
Cc: Paolo Abeni <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Max Staudt <[email protected]>
Link: https://lore.kernel.org/all/[email protected]
Cc: [email protected]
Signed-off-by: Marc Kleine-Budde <[email protected]>
Diffstat (limited to 'net/unix/unix_bpf.c')
0 files changed, 0 insertions, 0 deletions