3288,8 → 3288,11 |
wakeup->vb.state = STATE_DONE; |
//wake_up(&wakeup->vb.done); |
spin_unlock(&btv->s_lock); |
|
} |
|
extern int task_activate(int pid); |
|
static void |
bttv_irq_switch_fields(struct bttv *btv) |
{ |
3324,11 → 3327,13 |
|
/* wake up finished buffers */ |
bttv_irq_wakeup_set(btv, &old, &new, STATE_DONE); |
|
/* S.Ha.R.K. Task Activate */ |
task_activate(grab_task); |
|
spin_unlock(&btv->s_lock); |
} |
|
extern int task_activate(int pid); |
|
static irqreturn_t bttv_irq(int irq, void *dev_id, struct pt_regs * regs) |
{ |
u32 stat,astat; |
3385,8 → 3390,6 |
bttv_irq_wakeup_top(btv); |
|
if ((astat & BT848_INT_RISCI) && (stat & (1<<28))) { |
/* S.Ha.R.K. task activate */ |
task_activate(grab_task); |
bttv_irq_switch_fields(btv); |
} |
|