Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

V4L/DVB (6407): planb: fix obvious interrupt handling bugs

irq handlers have returned a return value for years now... catch up with
the times.

Also, ditch unneeded prototype.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

authored by

Jeff Garzik and committed by
Mauro Carvalho Chehab
52c28d4b 387a299b

+4 -4
+4 -4
drivers/media/video/planb.c
··· 91 91 static int planb_ioctl(struct video_device *, unsigned int, void *); 92 92 static int planb_init_done(struct video_device *); 93 93 static int planb_mmap(struct video_device *, const char *, unsigned long); 94 - static void planb_irq(int, void *); 95 94 static void release_planb(void); 96 95 int init_planbs(struct video_init *); 97 96 ··· 1314 1315 return c1; 1315 1316 } 1316 1317 1317 - static void planb_irq(int irq, void *dev_id) 1318 + static irqreturn_t planb_irq(int irq, void *dev_id) 1318 1319 { 1319 1320 unsigned int stat, astat; 1320 1321 struct planb *pb = (struct planb *)dev_id; ··· 1357 1358 pb->frame_stat[fr] = GBUFFER_DONE; 1358 1359 pb->grabbing--; 1359 1360 wake_up_interruptible(&pb->capq); 1360 - return; 1361 + return IRQ_HANDLED; 1361 1362 } 1362 1363 /* incorrect interrupts? */ 1363 1364 pb->intr_mask = PLANB_CLR_IRQ; 1364 1365 out_le32(&pb->planb_base->intr_stat, PLANB_CLR_IRQ); 1365 1366 printk(KERN_ERR "PlanB: IRQ lockup, cleared intrrupts" 1366 1367 " unconditionally\n"); 1368 + return IRQ_HANDLED; 1367 1369 } 1368 1370 1369 1371 /******************************* ··· 2090 2090 /* clear interrupt mask */ 2091 2091 pb->intr_mask = PLANB_CLR_IRQ; 2092 2092 2093 - result = request_irq(pb->irq, planb_irq, 0, "PlanB", (void *)pb); 2093 + result = request_irq(pb->irq, planb_irq, 0, "PlanB", pb); 2094 2094 if (result < 0) { 2095 2095 if (result==-EINVAL) 2096 2096 printk(KERN_ERR "PlanB: Bad irq number (%d) "