This brings the IRQ callback implementation more in line with how other
drivers do it.
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
        struct tm6000_core *dev = container_of(dma_q, struct tm6000_core, vidq);
        int i;
 
-       if (!dev)
+       switch (urb->status) {
+       case 0:
+       case -ETIMEDOUT:
+               break;
+
+       case -ECONNRESET:
+       case -ENOENT:
+       case -ESHUTDOWN:
                return;
 
+       default:
+               tm6000_err("urb completion error %d.\n", urb->status);
+               break;
+       }
+
        spin_lock(&dev->slock);
        tm6000_isoc_copy(urb);
        spin_unlock(&dev->slock);