From a75c082b1e3c1eb89e8fbc57d7d0a61258beafc0 Mon Sep 17 00:00:00 2001 From: norly Date: Mon, 10 Jun 2019 17:32:04 +0200 Subject: [PATCH] Flush worker earlier, resolving the last to-do item. --- module/elmcan.c | 4 ++-- readme.rst | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/module/elmcan.c b/module/elmcan.c index 2fd861d..33b0add 100644 --- a/module/elmcan.c +++ b/module/elmcan.c @@ -1215,14 +1215,14 @@ static void elmcan_ldisc_close(struct tty_struct *tty) /* At this point, all ldisc calls to us have become no-ops. */ + flush_work(&elm->tx_work); + /* Mark channel as dead */ spin_lock_bh(&elm->lock); tty->disc_data = NULL; elm->tty = NULL; spin_unlock_bh(&elm->lock); - flush_work(&elm->tx_work); - netdev_info(elm->dev, "elmcan off %s.\n", tty->name); kfree(elm->txbuf); diff --git a/readme.rst b/readme.rst index a283e0a..bfaf89b 100644 --- a/readme.rst +++ b/readme.rst @@ -341,5 +341,4 @@ termination resistors on its PCB and try removing them. To Do list for future development ---------------------------------- -- flushing of ``tx_work`` is too late in ``ldisc_close()`` - (is this still the case?) +- None currently -- 2.30.2