Skip to content

Commit

Permalink
drivers - NDP: [FEATURE] try to restart already running queue on start
Browse files Browse the repository at this point in the history
  • Loading branch information
martinspinler committed Feb 16, 2023
1 parent ef40d97 commit 8b47644
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions drivers/kernel/drivers/nfb/ndp/ctrl_ndp.c
Original file line number Diff line number Diff line change
Expand Up @@ -454,9 +454,17 @@ static int ndp_ctrl_start(struct ndp_channel *channel, uint64_t *hwptr)

ret = nc_ndp_ctrl_start(&ctrl->c, &sp);
if (ret == -EALREADY) {
dev_err(ctrl->nfb->dev, "NDP queue %s is in dirty state, can't be started\n",
dev_name(&channel->dev));
return -1;
/* Try to stop */
nc_ndp_ctrl_stop_force(&ctrl->c);
msleep(10);
ret = nc_ndp_ctrl_start(&ctrl->c, &sp);
if (ret == 0) {
dev_err(ctrl->nfb->dev, "NDP queue %s was in dirty state, restart seems succesfull, "
"but errors can occur\n", dev_name(&channel->dev));
} else {
dev_err(ctrl->nfb->dev, "NDP queue %s is in dirty state, can't be started\n", dev_name(&channel->dev));
return -1;
}
} else if (ret) {
return ret;
}
Expand Down

0 comments on commit 8b47644

Please sign in to comment.