On 10/26/22 10:14, Marc Kleine-Budde wrote:
On 10.10.2022 20:52:27, Jimmy Assarsson wrote:
From: Anssi Hannula <anssi.hannula@xxxxxxxxxx>
kvaser_usb uses completions to signal when a response event is received
for outgoing commands.
However, it uses init_completion() to reinitialize the start_comp and
stop_comp completions before sending the start/stop commands.
In case the device sends the corresponding response just before the
actual command is sent, complete() may be called concurrently with
init_completion() which is not safe.
This might be triggerable even with a properly functioning device by
stopping the interface (CMD_STOP_CHIP) just after it goes bus-off (which
also causes the driver to send CMD_STOP_CHIP when restart-ms is off),
but that was not tested.
Fix the issue by using reinit_completion() instead.
Looks like this should go to net instead of net-next.
Yes, I agree.
Thanks!
/jimmy
Marc