Merge "mhi: dev: net_dev: do not assert wake during napi_poll"

This commit is contained in:
qctecmdr Service 2018-05-25 12:13:34 -07:00 committed by Gerrit - the friendly Code Review server
commit aa46e03832
2 changed files with 5 additions and 6 deletions

View File

@ -728,14 +728,16 @@ int mhi_process_ctrl_ev_ring(struct mhi_controller *mhi_cntrl,
&mhi_cntrl->mhi_ctxt->er_ctxt[mhi_event->er_index];
int count = 0;
read_lock_bh(&mhi_cntrl->pm_lock);
/*
* this is a quick check to avoid unnecessary event processing
* in case we already in error state, but it's still possible
* to transition to error state while processing events
*/
if (unlikely(MHI_EVENT_ACCESS_INVALID(mhi_cntrl->pm_state))) {
MHI_ERR("No EV access, PM_STATE:%s\n",
to_mhi_pm_state_str(mhi_cntrl->pm_state));
read_unlock_bh(&mhi_cntrl->pm_lock);
return -EIO;
}
read_unlock_bh(&mhi_cntrl->pm_lock);
dev_rp = mhi_to_virtual(ev_ring, er_ctxt->rp);
local_rp = ev_ring->rp;

View File

@ -320,8 +320,6 @@ static int mhi_netdev_poll(struct napi_struct *napi, int budget)
return 0;
}
mhi_device_get(mhi_dev);
rx_work = mhi_poll(mhi_dev, budget);
if (rx_work < 0) {
MSG_ERR("Error polling ret:%d\n", rx_work);
@ -346,7 +344,6 @@ static int mhi_netdev_poll(struct napi_struct *napi, int budget)
mhi_netdev->stats.rx_budget_overflow++;
exit_poll:
mhi_device_put(mhi_dev);
read_unlock_bh(&mhi_netdev->pm_lock);
MSG_VERB("polled %d pkts\n", rx_work);