diff options
author | Michal Marek <mmarek@suse.cz> | 2014-01-02 14:02:06 +0100 |
---|---|---|
committer | Michal Marek <mmarek@suse.cz> | 2014-01-02 14:02:06 +0100 |
commit | 37e2c2a775fc887acd1432908478dfd532f7f00f (patch) | |
tree | e51ebc699d8e262fd47e0913be6a711cb1a7b565 /drivers/net/slip | |
parent | deb-pkg: Inhibit initramfs builders if CONFIG_BLK_DEV_INITRD is not set (diff) | |
parent | Linux 3.13-rc1 (diff) | |
download | linux-37e2c2a775fc887acd1432908478dfd532f7f00f.tar.xz linux-37e2c2a775fc887acd1432908478dfd532f7f00f.zip |
Merge commit v3.13-rc1 into kbuild/misc
Diffstat (limited to 'drivers/net/slip')
-rw-r--r-- | drivers/net/slip/slip.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/slip/slip.c b/drivers/net/slip/slip.c index a34d6bf5e43b..cc70ecfc7062 100644 --- a/drivers/net/slip/slip.c +++ b/drivers/net/slip/slip.c @@ -429,11 +429,13 @@ static void slip_write_wakeup(struct tty_struct *tty) if (!sl || sl->magic != SLIP_MAGIC || !netif_running(sl->dev)) return; + spin_lock(&sl->lock); if (sl->xleft <= 0) { /* Now serial buffer is almost free & we can start * transmission of another packet */ sl->dev->stats.tx_packets++; clear_bit(TTY_DO_WRITE_WAKEUP, &tty->flags); + spin_unlock(&sl->lock); sl_unlock(sl); return; } @@ -441,6 +443,7 @@ static void slip_write_wakeup(struct tty_struct *tty) actual = tty->ops->write(tty, sl->xhead, sl->xleft); sl->xleft -= actual; sl->xhead += actual; + spin_unlock(&sl->lock); } static void sl_tx_timeout(struct net_device *dev) |