]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] fix up syncppp locking
authorAlan Cox <alan@lxorguk.ukuu.org.uk>
Sat, 12 Oct 2002 10:18:06 +0000 (03:18 -0700)
committerLinus Torvalds <torvalds@home.transmeta.com>
Sat, 12 Oct 2002 10:18:06 +0000 (03:18 -0700)
drivers/net/wan/syncppp.c

index 4d2802dd4b3ac9f2affed10cc6d2a4f44afb5661..7d384c71398860cd111ecedb0a89e60a0d3b0e3c 100644 (file)
@@ -1284,12 +1284,12 @@ static void sppp_cp_timeout (unsigned long arg)
 {
        struct sppp *sp = (struct sppp*) arg;
        unsigned long flags;
-       save_flags(flags);
-       cli();
+
+       spin_lock_irqsave(&spppq_lock, flags);
 
        sp->pp_flags &= ~PP_TIMO;
        if (! (sp->pp_if->flags & IFF_UP) || (sp->pp_flags & PP_CISCO)) {
-               restore_flags(flags);
+               spin_unlock_irqrestore(&spppq_lock, flags);
                return;
        }
        switch (sp->lcp.state) {
@@ -1328,7 +1328,7 @@ static void sppp_cp_timeout (unsigned long arg)
                }
                break;
        }
-       restore_flags(flags);
+       spin_unlock_irqrestore(&spppq_lock, flags);
 }
 
 static char *sppp_lcp_type_name (u8 type)