aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/hamradio/6pack.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2009-07-14 16:13:41 -0400
committerDavid S. Miller <davem@davemloft.net>2009-07-14 16:13:41 -0400
commit252aa9d94a04252046f3a382e6aca1b5c95921d8 (patch)
tree5b265e4ae8011bd99938b2d4da5abac411aa6fc7 /drivers/net/hamradio/6pack.c
parent8660c1240ec6016522b882c88751cb4ce40bf0e8 (diff)
Revert "NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines."
This reverts commit adeab1afb7de89555c69aab5ca21300c14af6369. 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>
Diffstat (limited to 'drivers/net/hamradio/6pack.c')
-rw-r--r--drivers/net/hamradio/6pack.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/net/hamradio/6pack.c b/drivers/net/hamradio/6pack.c
index 913a56406594..155160052c8b 100644
--- a/drivers/net/hamradio/6pack.c
+++ b/drivers/net/hamradio/6pack.c
@@ -398,14 +398,13 @@ static DEFINE_RWLOCK(disc_data_lock);
398 398
399static struct sixpack *sp_get(struct tty_struct *tty) 399static struct sixpack *sp_get(struct tty_struct *tty)
400{ 400{
401 unsigned long flags;
402 struct sixpack *sp; 401 struct sixpack *sp;
403 402
404 read_lock_irqsave(&disc_data_lock, flags); 403 read_lock(&disc_data_lock);
405 sp = tty->disc_data; 404 sp = tty->disc_data;
406 if (sp) 405 if (sp)
407 atomic_inc(&sp->refcnt); 406 atomic_inc(&sp->refcnt);
408 read_unlock_irqrestore(&disc_data_lock, flags); 407 read_unlock(&disc_data_lock);
409 408
410 return sp; 409 return sp;
411} 410}
@@ -689,13 +688,12 @@ out:
689 */ 688 */
690static void sixpack_close(struct tty_struct *tty) 689static void sixpack_close(struct tty_struct *tty)
691{ 690{
692 unsigned long flags;
693 struct sixpack *sp; 691 struct sixpack *sp;
694 692
695 write_lock_irqsave(&disc_data_lock, flags); 693 write_lock(&disc_data_lock);
696 sp = tty->disc_data; 694 sp = tty->disc_data;
697 tty->disc_data = NULL; 695 tty->disc_data = NULL;
698 write_unlock_irqrestore(&disc_data_lock, flags); 696 write_unlock(&disc_data_lock);
699 if (!sp) 697 if (!sp)
700 return; 698 return;
701 699