diff options
author | Alexander Aring <alex.aring@gmail.com> | 2014-10-07 10:38:26 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2014-10-25 07:56:22 +0200 |
commit | d06c21990fbbca644a31a3c851c22a8d1f5d0e66 (patch) | |
tree | 4ac719d02f7f0c6d9588247752add29a3bf19da3 /drivers/net/ieee802154 | |
parent | 464f029915de6379c8fcd18d5dd49e5b3d1a2cc5 (diff) |
at86rf230: add missing error handling
This patch adds an async error handling function if sync state change
runs into a timeout. The async error handling function tries to recover
the phy state machine into a valid state.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'drivers/net/ieee802154')
-rw-r--r-- | drivers/net/ieee802154/at86rf230.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/ieee802154/at86rf230.c b/drivers/net/ieee802154/at86rf230.c index 6857038111a0..44d2f1de31e0 100644 --- a/drivers/net/ieee802154/at86rf230.c +++ b/drivers/net/ieee802154/at86rf230.c @@ -690,8 +690,10 @@ at86rf230_sync_state_change(struct at86rf230_local *lp, unsigned int state) rc = wait_for_completion_timeout(&lp->state_complete, msecs_to_jiffies(100)); - if (!rc) + if (!rc) { + at86rf230_async_error(lp, &lp->state, -ETIMEDOUT); return -ETIMEDOUT; + } return 0; } |