Irq context wrong for USB ACM serial driver calling PPP?

From: Jamie Lokier (lk@tantalophile.demon.co.uk)
Date: Mon Mar 06 2000 - 12:33:58 EST


[linux-usb added as it's possibly a USB driver bug;
 Vojtech Pavlik added because of USB ACM;
 Al Longyear added because it may be a PPP bug]

Andi Kleen wrote:
> > My log just filled up. Lots and lots of dubious messages about bad skbs
> > and hard IRQs. It's a ppp link that worked fine with 2.3.40.
>
> The bad skbs message come from NETFILTER_DEBUG. Turn that off.
>
> The hard irq messages mean that the USB driver is not converted to the
> new kfree_skb() scheme yet. Replace the kfree_skb that run in interrupt
> context with kfree_skb_irq() (or kfree_skb_any() if you are not sure or
> if it can run in both process/irq context)

The USB driver doesn't do anything with skbs -- the PPP driver does all
that. So the PPP driver should be changed to do kfree_skb_any(), right?

> > The hard IRQ might be because I'm using a USB modem. I think the USB
> > ACM driver might be calling ppp code from irq context which is called
> > from bh context by the standard serial driver.
>
> Sounds like a bug -- the PPP driver is probably not reentrant enough for
> that.

Vojtech/Al care to comment? What should be changed: USB ACM driver to
call PPP from bh context or PPP to accept calls from irq context?

Either way, this part of the tty interface is not well documented.

-- Jamie

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Mar 07 2000 - 21:00:20 EST