diff options
-rw-r--r-- | kernel/drivers/net/ieee802154/dw3000_stm.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/drivers/net/ieee802154/dw3000_stm.c b/kernel/drivers/net/ieee802154/dw3000_stm.c index 4b0f1cb..0fb84b8 100644 --- a/kernel/drivers/net/ieee802154/dw3000_stm.c +++ b/kernel/drivers/net/ieee802154/dw3000_stm.c @@ -87,8 +87,8 @@ int dw3000_enqueue_generic(struct dw3000 *dw, struct dw3000_stm_command *cmd) stm->pending_work |= work; stm->generic_work = cmd; wake_up_locked(&stm->work_wq); - wait_event_interruptible_locked_irq(stm->work_wq, - !(stm->pending_work & work)); + while (-ERESTARTSYS == wait_event_interruptible_locked_irq(stm->work_wq, + !(stm->pending_work & work))) {} spin_unlock_irqrestore(&stm->work_wq.lock, flags); mutex_unlock(&stm->mtx); return cmd->ret; |