mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 21:22:09 -04:00
mhi: device: netdev: Add flag to track napi scheduling
Flag is set to true when napi_schedule is called and false when napi_complete is called. This helps to identify the status of napi if a data stall is reported on downlink. Change-Id: Id54340c0274da3120f21154c0774e035a61347a9 Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
This commit is contained in:
parent
96cd181257
commit
5cfb42acc8
1 changed files with 8 additions and 1 deletions
|
|
@ -111,6 +111,7 @@ struct mhi_netdev {
|
|||
|
||||
/* debug stats */
|
||||
u32 abuffers, kbuffers, rbuffers;
|
||||
bool napi_scheduled;
|
||||
};
|
||||
|
||||
struct mhi_netdev_priv {
|
||||
|
|
@ -449,6 +450,7 @@ static int mhi_netdev_alloc_thread(void *data)
|
|||
|
||||
/* replenish the ring */
|
||||
napi_schedule(mhi_netdev->napi);
|
||||
mhi_netdev->napi_scheduled = true;
|
||||
|
||||
/* wait for buffers to run low or thread to stop */
|
||||
wait_event_interruptible(mhi_netdev->alloc_event,
|
||||
|
|
@ -488,6 +490,7 @@ static int mhi_netdev_poll(struct napi_struct *napi, int budget)
|
|||
if (rx_work < 0) {
|
||||
MSG_ERR("Error polling ret:%d\n", rx_work);
|
||||
napi_complete(napi);
|
||||
mhi_netdev->napi_scheduled = false;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -498,8 +501,10 @@ static int mhi_netdev_poll(struct napi_struct *napi, int budget)
|
|||
mhi_netdev_queue(mhi_netdev, rsc_dev->mhi_dev);
|
||||
|
||||
/* complete work if # of packet processed less than allocated budget */
|
||||
if (rx_work < budget)
|
||||
if (rx_work < budget) {
|
||||
napi_complete(napi);
|
||||
mhi_netdev->napi_scheduled = false;
|
||||
}
|
||||
|
||||
MSG_VERB("polled %d pkts\n", rx_work);
|
||||
|
||||
|
|
@ -835,6 +840,7 @@ static void mhi_netdev_status_cb(struct mhi_device *mhi_dev, enum MHI_CB mhi_cb)
|
|||
return;
|
||||
|
||||
napi_schedule(mhi_netdev->napi);
|
||||
mhi_netdev->napi_scheduled = true;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
|
|
@ -1098,6 +1104,7 @@ static int mhi_netdev_probe(struct mhi_device *mhi_dev,
|
|||
* by triggering a napi_poll
|
||||
*/
|
||||
napi_schedule(mhi_netdev->napi);
|
||||
mhi_netdev->napi_scheduled = true;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue