| From c45dd362107e028d609bf03eb4d64d180eba7d1a Mon Sep 17 00:00:00 2001 |
| From: Thomas Falcon <tlfalcon@linux.ibm.com> |
| Date: Thu, 24 Jan 2019 11:17:01 -0600 |
| Subject: ibmveth: Do not process frames after calling napi_reschedule |
| |
| [ Upstream commit e95d22c69b2c130ccce257b84daf283fd82d611e ] |
| |
| The IBM virtual ethernet driver's polling function continues |
| to process frames after rescheduling NAPI, resulting in a warning |
| if it exhausted its budget. Do not restart polling after calling |
| napi_reschedule. Instead let frames be processed in the following |
| instance. |
| |
| Signed-off-by: Thomas Falcon <tlfalcon@linux.ibm.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/ethernet/ibm/ibmveth.c | 2 -- |
| 1 file changed, 2 deletions(-) |
| |
| diff --git a/drivers/net/ethernet/ibm/ibmveth.c b/drivers/net/ethernet/ibm/ibmveth.c |
| index 91f48c0780734..f70cb4d3c6846 100644 |
| --- a/drivers/net/ethernet/ibm/ibmveth.c |
| +++ b/drivers/net/ethernet/ibm/ibmveth.c |
| @@ -1314,7 +1314,6 @@ static int ibmveth_poll(struct napi_struct *napi, int budget) |
| unsigned long lpar_rc; |
| u16 mss = 0; |
| |
| -restart_poll: |
| while (frames_processed < budget) { |
| if (!ibmveth_rxq_pending_buffer(adapter)) |
| break; |
| @@ -1402,7 +1401,6 @@ static int ibmveth_poll(struct napi_struct *napi, int budget) |
| napi_reschedule(napi)) { |
| lpar_rc = h_vio_signal(adapter->vdev->unit_address, |
| VIO_IRQ_DISABLE); |
| - goto restart_poll; |
| } |
| } |
| |
| -- |
| 2.19.1 |
| |