Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 29bfe051 authored by Thomas Falcon's avatar Thomas Falcon Committed by Greg Kroah-Hartman
Browse files

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: default avatarThomas Falcon <tlfalcon@linux.ibm.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 8a1e11f6
Loading
Loading
Loading
Loading
+0 −2
Original line number Original line Diff line number Diff line
@@ -1314,7 +1314,6 @@ static int ibmveth_poll(struct napi_struct *napi, int budget)
	unsigned long lpar_rc;
	unsigned long lpar_rc;
	u16 mss = 0;
	u16 mss = 0;


restart_poll:
	while (frames_processed < budget) {
	while (frames_processed < budget) {
		if (!ibmveth_rxq_pending_buffer(adapter))
		if (!ibmveth_rxq_pending_buffer(adapter))
			break;
			break;
@@ -1402,7 +1401,6 @@ static int ibmveth_poll(struct napi_struct *napi, int budget)
		    napi_reschedule(napi)) {
		    napi_reschedule(napi)) {
			lpar_rc = h_vio_signal(adapter->vdev->unit_address,
			lpar_rc = h_vio_signal(adapter->vdev->unit_address,
					       VIO_IRQ_DISABLE);
					       VIO_IRQ_DISABLE);
			goto restart_poll;
		}
		}
	}
	}