summaryrefslogtreecommitdiffstats
path: root/drivers/net/hamradio/mkiss.c
diff options
context:
space:
mode:
authorMike Marshall <hubcap@omnibond.com>2016-01-15 20:22:14 +0100
committerMike Marshall <hubcap@omnibond.com>2016-01-15 20:22:14 +0100
commit5e1f3938f9e4ef539031d639879cb1cea870fab5 (patch)
treeb262a7c002b05b7bc800a106d6ca6777dabe15bf /drivers/net/hamradio/mkiss.c
parentOrangefs: add verification to decode_dirents (diff)
parentLinux 4.4 (diff)
downloadlinux-5e1f3938f9e4ef539031d639879cb1cea870fab5.tar.xz
linux-5e1f3938f9e4ef539031d639879cb1cea870fab5.zip
Orangefs: merge with V4.4
Merge tag 'v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into current Linux 4.4
Diffstat (limited to 'drivers/net/hamradio/mkiss.c')
-rw-r--r--drivers/net/hamradio/mkiss.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/net/hamradio/mkiss.c b/drivers/net/hamradio/mkiss.c
index 216bfd350169..85828f153445 100644
--- a/drivers/net/hamradio/mkiss.c
+++ b/drivers/net/hamradio/mkiss.c
@@ -797,14 +797,19 @@ static void mkiss_close(struct tty_struct *tty)
*/
if (!atomic_dec_and_test(&ax->refcnt))
down(&ax->dead_sem);
-
- unregister_netdev(ax->dev);
+ /*
+ * Halt the transmit queue so that a new transmit cannot scribble
+ * on our buffers
+ */
+ netif_stop_queue(ax->dev);
/* Free all AX25 frame buffers. */
kfree(ax->rbuff);
kfree(ax->xbuff);
ax->tty = NULL;
+
+ unregister_netdev(ax->dev);
}
/* Perform I/O control on an active ax25 channel. */