Commit 174c95d2 authored by Oliver Hartkopp's avatar Oliver Hartkopp Committed by David S. Miller

slcan: ldisc generated skbs are received in softirq context

As this discussion pointed out

http://marc.info/?l=linux-netdev&m=131257225602375

netdevices that are based on serial line disciplines should use netif_rx_ni()
when pushing received socketbuffers into the netdev rx queue.

Following commit 61485160 ("slip: fix NOHZ
local_softirq_pending 08 warning") this patch updates the slcan driver
accordingly.
Signed-off-by: default avatarOliver Hartkopp <socketcan@hartkopp.net>
CC: Matvejchikov Ilya <matvejchikov@gmail.com>
CC: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e33f7a9f
...@@ -197,7 +197,7 @@ static void slc_bump(struct slcan *sl) ...@@ -197,7 +197,7 @@ static void slc_bump(struct slcan *sl)
skb->ip_summed = CHECKSUM_UNNECESSARY; skb->ip_summed = CHECKSUM_UNNECESSARY;
memcpy(skb_put(skb, sizeof(struct can_frame)), memcpy(skb_put(skb, sizeof(struct can_frame)),
&cf, sizeof(struct can_frame)); &cf, sizeof(struct can_frame));
netif_rx(skb); netif_rx_ni(skb);
sl->dev->stats.rx_packets++; sl->dev->stats.rx_packets++;
sl->dev->stats.rx_bytes += cf.can_dlc; sl->dev->stats.rx_bytes += cf.can_dlc;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment