Revert "NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines."
This reverts commit adeab1afb7
.
As Alan Cox explained, the TTY layer changes that went recently
to get rid of the tty->low_latency stuff fixes this already,
and even for -stable it's the ->low_latency changes that should
go in to fix this, rather than this patch.
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@ -398,14 +398,13 @@ static DEFINE_RWLOCK(disc_data_lock);
|
||||
|
||||
static struct sixpack *sp_get(struct tty_struct *tty)
|
||||
{
|
||||
unsigned long flags;
|
||||
struct sixpack *sp;
|
||||
|
||||
read_lock_irqsave(&disc_data_lock, flags);
|
||||
read_lock(&disc_data_lock);
|
||||
sp = tty->disc_data;
|
||||
if (sp)
|
||||
atomic_inc(&sp->refcnt);
|
||||
read_unlock_irqrestore(&disc_data_lock, flags);
|
||||
read_unlock(&disc_data_lock);
|
||||
|
||||
return sp;
|
||||
}
|
||||
@ -689,13 +688,12 @@ out:
|
||||
*/
|
||||
static void sixpack_close(struct tty_struct *tty)
|
||||
{
|
||||
unsigned long flags;
|
||||
struct sixpack *sp;
|
||||
|
||||
write_lock_irqsave(&disc_data_lock, flags);
|
||||
write_lock(&disc_data_lock);
|
||||
sp = tty->disc_data;
|
||||
tty->disc_data = NULL;
|
||||
write_unlock_irqrestore(&disc_data_lock, flags);
|
||||
write_unlock(&disc_data_lock);
|
||||
if (!sp)
|
||||
return;
|
||||
|
||||
|
Reference in New Issue
Block a user