Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c58c21c7 authored by Nickolay's avatar Nickolay Committed by Linus Torvalds
Browse files

[PATCH] v4l: 797: more intellect on clearing in bits on irq lock



- More intellect on clearing in bits on irq lock.

Signed-off-by: default avatarNickolay V. Shmyrev <&lt;nshmyrev@yandex.ru&gt;>
Signed-off-by: default avatarNickolay V. Shmyrev <nshmyrev@yandex.ru>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent cf1c5d1d
Loading
Loading
Loading
Loading
+15 −3
Original line number Diff line number Diff line
@@ -3736,10 +3736,22 @@ static irqreturn_t bttv_irq(int irq, void *dev_id, struct pt_regs * regs)

		count++;
		if (count > 4) {

			if (count > 8 || !(astat & BT848_INT_GPINT)) {
	 			btwrite(0, BT848_INT_MASK);

				printk(KERN_ERR
					   "bttv%d: IRQ lockup, cleared int mask [", btv->c.nr);
			} else {
				printk(KERN_ERR
					   "bttv%d: IRQ lockup, clearing GPINT from int mask [", btv->c.nr);

				btwrite(btread(BT848_INT_MASK) & (-1 ^ BT848_INT_GPINT),
						BT848_INT_MASK);
			};

			bttv_print_irqbits(stat,astat);

			printk("]\n");
		}
	}