From: Stefan Ringel <linu...@stefanringel.de>

Signed-off-by: Stefan Ringel <linu...@stefanringel.de>
---
 drivers/media/video/tm6000/tm6000-dvb.c |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/drivers/media/video/tm6000/tm6000-dvb.c 
b/drivers/media/video/tm6000/tm6000-dvb.c
index 5e6c129..db6a561 100644
--- a/drivers/media/video/tm6000/tm6000-dvb.c
+++ b/drivers/media/video/tm6000/tm6000-dvb.c
@@ -89,9 +89,19 @@ static void tm6000_urb_received(struct urb *urb)
        int ret;
        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);
-       else if (urb->actual_length > 0)
+       }
+
+       if (urb->actual_length > 0)
                dvb_dmx_swfilter(&dev->dvb->demux, urb->transfer_buffer,
                                                   urb->actual_length);
 
@@ -151,7 +161,7 @@ static int tm6000_start_stream(struct tm6000_core *dev)
                printk(KERN_ERR "tm6000: pipe resetted\n");
 
 /*     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); */
        if (ret) {
-- 
1.7.7

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to