diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/can/af_can.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/can/af_can.c b/net/can/af_can.c index ef1c43a2ed56..606832115674 100644 --- a/net/can/af_can.c +++ b/net/can/af_can.c | |||
@@ -199,6 +199,8 @@ static int can_create(struct net *net, struct socket *sock, int protocol) | |||
199 | * @skb: pointer to socket buffer with CAN frame in data section | 199 | * @skb: pointer to socket buffer with CAN frame in data section |
200 | * @loop: loopback for listeners on local CAN sockets (recommended default!) | 200 | * @loop: loopback for listeners on local CAN sockets (recommended default!) |
201 | * | 201 | * |
202 | * Due to the loopback this routine must not be called from hardirq context. | ||
203 | * | ||
202 | * Return: | 204 | * Return: |
203 | * 0 on success | 205 | * 0 on success |
204 | * -ENETDOWN when the selected interface is down | 206 | * -ENETDOWN when the selected interface is down |
@@ -278,7 +280,7 @@ int can_send(struct sk_buff *skb, int loop) | |||
278 | } | 280 | } |
279 | 281 | ||
280 | if (newskb) | 282 | if (newskb) |
281 | netif_rx(newskb); | 283 | netif_rx_ni(newskb); |
282 | 284 | ||
283 | /* update statistics */ | 285 | /* update statistics */ |
284 | can_stats.tx_frames++; | 286 | can_stats.tx_frames++; |