Merge tag 'linux-can-fixes-for-4.15-20171208' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can

Marc Kleine-Budde says:

====================
pull-request: can 2017-12-08

this is a pull request of 6 patches for net/master.

Martin Kelly provides 5 patches for various USB based CAN drivers, that
properly cancel the URBs on adapter unplug, so that the driver doesn't
end up in an endless loop. Stephane Grosjean provides a patch to restart
the tx queue if zero length packages are transmitted.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>

+12 -6
+3 -6
drivers/net/can/peak_canfd/peak_canfd.c
··· 258 258 /* if this frame is an echo, */ 259 259 if ((rx_msg_flags & PUCAN_MSG_LOOPED_BACK) && 260 260 !(rx_msg_flags & PUCAN_MSG_SELF_RECEIVE)) { 261 - int n; 262 261 unsigned long flags; 263 262 264 263 spin_lock_irqsave(&priv->echo_lock, flags); 265 - n = can_get_echo_skb(priv->ndev, msg->client); 264 + can_get_echo_skb(priv->ndev, msg->client); 266 265 spin_unlock_irqrestore(&priv->echo_lock, flags); 267 266 268 267 /* count bytes of the echo instead of skb */ 269 268 stats->tx_bytes += cf_len; 270 269 stats->tx_packets++; 271 270 272 - if (n) { 273 - /* restart tx queue only if a slot is free */ 274 - netif_wake_queue(priv->ndev); 275 - } 271 + /* restart tx queue (a slot is free) */ 272 + netif_wake_queue(priv->ndev); 276 273 277 274 return 0; 278 275 }
+2
drivers/net/can/usb/ems_usb.c
··· 288 288 289 289 case -ECONNRESET: /* unlink */ 290 290 case -ENOENT: 291 + case -EPIPE: 292 + case -EPROTO: 291 293 case -ESHUTDOWN: 292 294 return; 293 295
+2
drivers/net/can/usb/esd_usb2.c
··· 393 393 break; 394 394 395 395 case -ENOENT: 396 + case -EPIPE: 397 + case -EPROTO: 396 398 case -ESHUTDOWN: 397 399 return; 398 400
+2
drivers/net/can/usb/kvaser_usb.c
··· 1326 1326 case 0: 1327 1327 break; 1328 1328 case -ENOENT: 1329 + case -EPIPE: 1330 + case -EPROTO: 1329 1331 case -ESHUTDOWN: 1330 1332 return; 1331 1333 default:
+1
drivers/net/can/usb/mcba_usb.c
··· 593 593 594 594 case -ENOENT: 595 595 case -EPIPE: 596 + case -EPROTO: 596 597 case -ESHUTDOWN: 597 598 return; 598 599
+2
drivers/net/can/usb/usb_8dev.c
··· 524 524 break; 525 525 526 526 case -ENOENT: 527 + case -EPIPE: 528 + case -EPROTO: 527 529 case -ESHUTDOWN: 528 530 return; 529 531