On 21.10.2009 20:46, /me wrote: >>>> I have encountered the message in the subject during a test of >>>> the Gigaset CAPI driver, and would like to determine whether >>>> it's a bug in the driver, a bug somewhere else, or no bug at >>>> all. The test scenario was PPP over ISDN with pppd+capiplugin. >>>> In an alternative scenario, also PPP over ISDN but with >>>> smpppd+capidrv, the message did not occur. > > I'm sorry, I had confused the two cases. The message occurs in > the smpppd+capidrv scenario, not with pppd+capiplugin. > >>>> Johannes' answer pointed me to the netif_rx() function. >>>> The Gigaset driver itself doesn't call that function at all. >>>> In the scenario where I saw the message, it was the SYNC_PPP >>>> line discipline that did. > > This analysis was therefore wrong. It would be the netif_rx() > call towards the end of isdn_ppp_push_higher() in > drivers/isdn/i4l/isdn_ppp.c L1177. Having noticed that, I cooked up the following patch which fixed the messages for me. Comments? (Adding i4l people to the already impressive CC list.) --- a/drivers/isdn/i4l/isdn_ppp.c +++ b/drivers/isdn/i4l/isdn_ppp.c @@ -1174,7 +1174,10 @@ isdn_ppp_push_higher(isdn_net_dev * net_dev, isdn_net_local * lp, struct sk_buff #endif /* CONFIG_IPPP_FILTER */ skb->dev = dev; skb_reset_mac_header(skb); - netif_rx(skb); + if (in_interrupt()) + netif_rx(skb); + else + netif_rx_ni(skb); /* net_dev->local->stats.rx_packets++; done in isdn_net.c */ return; -- Tilman Schmidt E-Mail: tilman@xxxxxxx Bonn, Germany Diese Nachricht besteht zu 100% aus wiederverwerteten Bits. Ungeöffnet mindestens haltbar bis: (siehe Rückseite)
Attachment:
signature.asc
Description: OpenPGP digital signature