[media] tm6000: Flesh out the IRQ callback

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>
This commit is contained in:
Thierry Reding 2011-08-04 04:14:06 -03:00 committed by Mauro Carvalho Chehab
parent 9dac920708
commit 14f0915464
1 changed files with 13 additions and 1 deletions

View File

@ -513,9 +513,21 @@ static void tm6000_irq_callback(struct urb *urb)
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);