From: Ahmed S. Darwish Date: Mon, 5 Jan 2015 17:49:10 +0000 (-0500) Subject: can: kvaser_usb: Don't free packets when tight on URBs X-Git-Tag: omap-for-v4.1/prcm-dts-mfd-syscon-fix~255^2~12^2~3 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b442723fcec445fb0ae1104888dd22cd285e0a91;p=pandora-kernel.git can: kvaser_usb: Don't free packets when tight on URBs Flooding the Kvaser CAN to USB dongle with multiple reads and writes in high frequency caused seemingly-random panics in the kernel. On further inspection, it seems the driver erroneously freed the to-be-transmitted packet upon getting tight on URBs and returning NETDEV_TX_BUSY, leading to invalid memory writes and double frees at a later point in time. Note: Finding no more URBs/transmit-contexts and returning NETDEV_TX_BUSY is a driver bug in and out of itself: it means that our start/stop queue flow control is broken. This patch only fixes the (buggy) error handling code; the root cause shall be fixed in a later commit. Acked-by: Olivier Sobrie Signed-off-by: Ahmed S. Darwish Cc: linux-stable Signed-off-by: Marc Kleine-Budde --- Reading git-diff-tree failed