uru4000: Fix state change from IRQ handler
The IRQ handler will re-register itself automatically. However, if this happens after the callback is called, then the check whether the IRQ handler is running fails. Re-start the IRQ handler before calling the callback. This way the state changes happening from the callback will see the correct IRQ handler registration state. See: #205
This commit is contained in:
parent
7b68344394
commit
8f21aa1b26
1 changed files with 2 additions and 2 deletions
|
@ -332,6 +332,8 @@ irq_handler (FpiUsbTransfer *transfer,
|
|||
return;
|
||||
}
|
||||
|
||||
start_irq_handler (imgdev);
|
||||
|
||||
type = GUINT16_FROM_BE (*((uint16_t *) data));
|
||||
fp_dbg ("recv irq type %04x", type);
|
||||
|
||||
|
@ -344,8 +346,6 @@ irq_handler (FpiUsbTransfer *transfer,
|
|||
urudev->irq_cb (imgdev, NULL, type, urudev->irq_cb_data);
|
||||
else
|
||||
fp_dbg ("ignoring interrupt");
|
||||
|
||||
start_irq_handler (imgdev);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in a new issue