diff options
author | Oliver Hartkopp <socketcan@hartkopp.net> | 2011-08-10 01:18:59 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-08-11 08:52:57 -0400 |
commit | 174c95d2526afbf974d9134f7f91fca8c4c8b538 (patch) | |
tree | e38aa3277bb55a2d298bc857b1042267f0e021eb /drivers/net | |
parent | e33f7a9f37d486f4c6cce5de18a6eea11d68f64f (diff) |
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 614851601c121b1320a35757ab88292d6272f906 ("slip: fix NOHZ
local_softirq_pending 08 warning") this patch updates the slcan driver
accordingly.
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
CC: Matvejchikov Ilya <matvejchikov@gmail.com>
CC: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/can/slcan.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/can/slcan.c b/drivers/net/can/slcan.c index f523f1cc5142..4b70b7e8bdeb 100644 --- a/drivers/net/can/slcan.c +++ b/drivers/net/can/slcan.c | |||
@@ -197,7 +197,7 @@ static void slc_bump(struct slcan *sl) | |||
197 | skb->ip_summed = CHECKSUM_UNNECESSARY; | 197 | skb->ip_summed = CHECKSUM_UNNECESSARY; |
198 | memcpy(skb_put(skb, sizeof(struct can_frame)), | 198 | memcpy(skb_put(skb, sizeof(struct can_frame)), |
199 | &cf, sizeof(struct can_frame)); | 199 | &cf, sizeof(struct can_frame)); |
200 | netif_rx(skb); | 200 | netif_rx_ni(skb); |
201 | 201 | ||
202 | sl->dev->stats.rx_packets++; | 202 | sl->dev->stats.rx_packets++; |
203 | sl->dev->stats.rx_bytes += cf.can_dlc; | 203 | sl->dev->stats.rx_bytes += cf.can_dlc; |