summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorGrant Grundler <grundler@chromium.org>2022-05-09 19:28:24 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-05-25 09:57:36 +0200
commit2d1b336ffb77125661c4ca1020a6844361d30e38 (patch)
treefff01fe9b1bf1827b15b8faafd51cef36f9110e8 /drivers
parentd955f45d1a56638c8d5cb6d7e77df73382916aaa (diff)
downloadlinux-2d1b336ffb77125661c4ca1020a6844361d30e38.tar.gz
linux-2d1b336ffb77125661c4ca1020a6844361d30e38.tar.bz2
linux-2d1b336ffb77125661c4ca1020a6844361d30e38.zip
net: atlantic: reduce scope of is_rsc_complete
[ Upstream commit 79784d77ebbd3ec516b7a5ce555d979fb7946202 ] Don't defer handling the err case outside the loop. That's pointless. And since is_rsc_complete is only used inside this loop, declare it inside the loop to reduce it's scope. Signed-off-by: Grant Grundler <grundler@chromium.org> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ethernet/aquantia/atlantic/aq_ring.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_ring.c b/drivers/net/ethernet/aquantia/atlantic/aq_ring.c
index 7cf5a48e9a7d..339efdfb1d49 100644
--- a/drivers/net/ethernet/aquantia/atlantic/aq_ring.c
+++ b/drivers/net/ethernet/aquantia/atlantic/aq_ring.c
@@ -345,7 +345,6 @@ int aq_ring_rx_clean(struct aq_ring_s *self,
int budget)
{
struct net_device *ndev = aq_nic_get_ndev(self->aq_nic);
- bool is_rsc_completed = true;
int err = 0;
for (; (self->sw_head != self->hw_head) && budget;
@@ -365,6 +364,8 @@ int aq_ring_rx_clean(struct aq_ring_s *self,
if (!buff->is_eop) {
buff_ = buff;
do {
+ bool is_rsc_completed = true;
+
if (buff_->next >= self->size) {
err = -EIO;
goto err_exit;
@@ -376,18 +377,16 @@ int aq_ring_rx_clean(struct aq_ring_s *self,
next_,
self->hw_head);
- if (unlikely(!is_rsc_completed))
- break;
+ if (unlikely(!is_rsc_completed)) {
+ err = 0;
+ goto err_exit;
+ }
buff->is_error |= buff_->is_error;
buff->is_cso_err |= buff_->is_cso_err;
} while (!buff_->is_eop);
- if (!is_rsc_completed) {
- err = 0;
- goto err_exit;
- }
if (buff->is_error ||
(buff->is_lro && buff->is_cso_err)) {
buff_ = buff;