On 23. 11. 21, 13:50, Jeremy Kerr wrote:
quoted hunk ↗ jump to hunk
We want to ensure that the tx work has finished before returning from
the ldisc close op, so do a synchronous cancel.
Reported-by: Jiri Slaby <jirislaby@kernel.org>
Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
---
drivers/net/mctp/mctp-serial.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/mctp/mctp-serial.c b/drivers/net/mctp/mctp-serial.c
index 9ac0e187f36e..c958d773a82a 100644
--- a/drivers/net/mctp/mctp-serial.c
+++ b/drivers/net/mctp/mctp-serial.c
@@ -478,6 +478,7 @@ static void mctp_serial_close(struct tty_struct *tty)
struct mctp_serial *dev = tty->disc_data;
int idx = dev->idx;
+ cancel_work_sync(&dev->tx_work);
But the work still can be queued after the cancel (and before the
unregister), right?
unregister_netdev(dev->netdev);
ida_free(&mctp_serial_ida, idx);
}
thanks,
--
js
suse labs