This driver does not handle allocation failure when receiving data very well. This patchset implements better handling in the case of allocation failure. Also do some necessary clean-up to implement this. v2: - squash 3 commits that were doing a single thing - add new commit which removes a redundant assignment - take device_init_rx_desc() out of unnecessary else condition. - remove return statement at the end of void function - add a missing rd = rd->next statement in device_rx_srv(): because we already drop the current buffer, we should move on to the next buffer in the ring where new data will be written to. Nam Cao (4): staging: vt6655: remove redundant if condition staging: vt6655: change vnt_receive_frame return type to void staging: vt6655: remove redundant assignment staging: vt6655: implement allocation failure handling drivers/staging/vt6655/device_main.c | 40 +++++++++++++++++----------- drivers/staging/vt6655/dpc.c | 8 +++--- drivers/staging/vt6655/dpc.h | 2 +- 3 files changed, 28 insertions(+), 22 deletions(-) -- 2.25.1