From: Antti Palosaari <crope@iki.fi>
Date: Tue, 21 Aug 2012 22:56:18 +0000 (-0300)
Subject: [media] rtl28xxu: stream did not start after stop on USB3.0
X-Git-Tag: firefly_0821_release~3680^2~275^2~1292
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=62751a801dc7dc176725c4d4254ee8638b15bb66;p=firefly-linux-kernel-4.4.55.git

[media] rtl28xxu: stream did not start after stop on USB3.0

Stream did not start anymore after stream was stopped once.

Following error can be seen, xhci_hcd
WARN Set TR Deq Ptr cmd failed due to incorrect slot or ep state.

usb_clear_halt for streaming endpoint helps.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---

diff --git a/drivers/media/usb/dvb-usb-v2/rtl28xxu.c b/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
index d2b1505b36f9..1ccb99b0a204 100644
--- a/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
+++ b/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
@@ -834,6 +834,7 @@ static int rtl28xxu_streaming_ctrl(struct dvb_frontend *fe , int onoff)
 	if (onoff) {
 		buf[0] = 0x00;
 		buf[1] = 0x00;
+		usb_clear_halt(d->udev, usb_rcvbulkpipe(d->udev, 0x81));
 	} else {
 		buf[0] = 0x10; /* stall EPA */
 		buf[1] = 0x02; /* reset EPA */