--- linux/drivers/net/ppp_generic.c.virgin Mon Jan 22 02:37:42 2001 +++ linux/drivers/net/ppp_generic.c Tue Jan 23 04:36:48 2001 @@ -1569,11 +1569,12 @@ struct sk_buff_head *list = &ppp->mrq; u32 seq = skb->sequence; - /* N.B. we don't need to lock the list lock because we have the - ppp unit receive-side lock. */ + ppp_lock(ppp); for (p = list->next; p != (struct sk_buff *)list; p = p->next) if (seq_before(seq, p->sequence)) break; + ppp_unlock(ppp); + __skb_insert(skb, p->prev, p, list); }