summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornorly <ny-git@enpas.org>2019-06-10 17:32:04 +0200
committernorly <ny-git@enpas.org>2019-06-10 17:32:04 +0200
commita75c082b1e3c1eb89e8fbc57d7d0a61258beafc0 (patch)
tree2b37959d822be22822784999c211c5804c4055fd
parent5fb4737deaaef9c365b9a8c2c3cf16504254eee7 (diff)
Flush worker earlier, resolving the last to-do item.
-rw-r--r--module/elmcan.c4
-rw-r--r--readme.rst3
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