From: Alex Elder Date: Thu, 21 Jan 2021 11:48:18 +0000 (-0600) Subject: net: ipa: heed napi_complete() return value X-Git-Tag: v5.12-rc1~200^2~266^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=148604e7eafb2f6af275d60b9ab27e7a9622e93f;p=thirdparty%2Flinux.git net: ipa: heed napi_complete() return value Pay attention to the return value of napi_complete(), completing polling only if it returns true. Just use napi rather than &channel->napi as the argument passed to napi_complete(). Signed-off-by: Alex Elder Signed-off-by: Jakub Kicinski --- diff --git a/drivers/net/ipa/gsi.c b/drivers/net/ipa/gsi.c index 56a5eb61b20c4..634f514e861e7 100644 --- a/drivers/net/ipa/gsi.c +++ b/drivers/net/ipa/gsi.c @@ -1555,10 +1555,8 @@ static int gsi_channel_poll(struct napi_struct *napi, int budget) gsi_trans_complete(trans); } - if (count < budget) { - napi_complete(&channel->napi); + if (count < budget && napi_complete(napi)) gsi_irq_ieob_enable(channel->gsi, channel->evt_ring_id); - } return count; }