mirror of
https://github.com/torvalds/linux.git
synced 2024-12-14 23:25:54 +00:00
[media] tm6000: bugfix at bulk transfer
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
8159c184cf
commit
de2a20baff
@ -89,9 +89,19 @@ static void tm6000_urb_received(struct urb *urb)
|
|||||||
int ret;
|
int ret;
|
||||||
struct tm6000_core *dev = urb->context;
|
struct tm6000_core *dev = urb->context;
|
||||||
|
|
||||||
if (urb->status != 0)
|
switch (urb->status) {
|
||||||
|
case 0:
|
||||||
|
case -ETIMEDOUT:
|
||||||
|
break;
|
||||||
|
case -ENOENT:
|
||||||
|
case -ECONNRESET:
|
||||||
|
case -ESHUTDOWN:
|
||||||
|
return;
|
||||||
|
default:
|
||||||
print_err_status(dev, 0, urb->status);
|
print_err_status(dev, 0, urb->status);
|
||||||
else if (urb->actual_length > 0)
|
}
|
||||||
|
|
||||||
|
if (urb->actual_length > 0)
|
||||||
dvb_dmx_swfilter(&dev->dvb->demux, urb->transfer_buffer,
|
dvb_dmx_swfilter(&dev->dvb->demux, urb->transfer_buffer,
|
||||||
urb->actual_length);
|
urb->actual_length);
|
||||||
|
|
||||||
@ -151,7 +161,7 @@ static int tm6000_start_stream(struct tm6000_core *dev)
|
|||||||
printk(KERN_ERR "tm6000: pipe resetted\n");
|
printk(KERN_ERR "tm6000: pipe resetted\n");
|
||||||
|
|
||||||
/* mutex_lock(&tm6000_driver.open_close_mutex); */
|
/* mutex_lock(&tm6000_driver.open_close_mutex); */
|
||||||
ret = usb_submit_urb(dvb->bulk_urb, GFP_KERNEL);
|
ret = usb_submit_urb(dvb->bulk_urb, GFP_ATOMIC);
|
||||||
|
|
||||||
/* mutex_unlock(&tm6000_driver.open_close_mutex); */
|
/* mutex_unlock(&tm6000_driver.open_close_mutex); */
|
||||||
if (ret) {
|
if (ret) {
|
||||||
|
Loading…
Reference in New Issue
Block a user