Re: [PATCH 2/5] can: kvaser_usb: Read all messages in a bulk-in URB buffer
From: Marc Kleine-Budde
Date: Sat Mar 14 2015 - 10:27:24 EST
On 02/26/2015 04:22 PM, Ahmed S. Darwish wrote:
> From: Ahmed S. Darwish <ahmed.darwish@xxxxxxxxx>
>
> The Kvaser firmware can only read and write messages that are
> not crossing the USB endpoint's wMaxPacketSize boundary. While
> receiving commands from the CAN device, if the next command in
> the same URB buffer crossed that max packet size boundary, the
> firmware puts a zero-length placeholder command in its place
> then moves the real command to the next boundary mark.
>
> The driver did not recognize such behavior, leading to missing
> a good number of rx events during a heavy rx load session.
>
> Moreover, a tx URB context only gets freed upon receiving its
> respective tx ACK event. Over time, the free tx URB contexts
> pool gets depleted due to the missing ACK events. Consequently,
> the netif transmission queue gets __permanently__ stopped; no
> frames could be sent again except after restarting the CAN
> newtwork interface.
>
> Signed-off-by: Ahmed S. Darwish <ahmed.darwish@xxxxxxxxx>
Can you please send a fix for this endianess errors (against
linux-can-fixes-for-4.0-20150314):
> drivers/net/can/usb/kvaser_usb.c:595:39: warning: restricted __le16 degrades to integer
> drivers/net/can/usb/kvaser_usb.c:1332:31: warning: restricted __le16 degrades to integer
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Industrial Linux Solutions | Phone: +49-231-2826-924 |
Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
Attachment:
signature.asc
Description: OpenPGP digital signature