Skip to content

Commit

Permalink
[PATCH] v4l: 797: more intellect on clearing in bits on irq lock
Browse files Browse the repository at this point in the history
- More intellect on clearing in bits on irq lock.

Signed-off-by: Nickolay V. Shmyrev <<nshmyrev@yandex.ru>>
Signed-off-by: Nickolay V. Shmyrev <nshmyrev@yandex.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
nshmyrev@yandex.ru authored and Linus Torvalds committed Nov 9, 2005
1 parent cf1c5d1 commit c58c21c
Showing 1 changed file with 15 additions and 3 deletions.
18 changes: 15 additions & 3 deletions drivers/media/video/bttv-driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -3736,10 +3736,22 @@ static irqreturn_t bttv_irq(int irq, void *dev_id, struct pt_regs * regs)

count++;
if (count > 4) {
btwrite(0, BT848_INT_MASK);
printk(KERN_ERR
"bttv%d: IRQ lockup, cleared int mask [", btv->c.nr);

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");
}
}
Expand Down

0 comments on commit c58c21c

Please sign in to comment.