[net,6/8] net: atlantic: fix potential error handling
diff mbox series

Message ID 1b9d327bd6278af27e121951d50d58c798f3625c.1580299250.git.irusskikh@marvell.com
State Accepted
Delegated to: David Miller
Headers show
  • Marvell atlantic 2020/02 updates
Related show

Commit Message

Igor Russkikh Feb. 14, 2020, 3:44 p.m. UTC
From: Pavel Belous <pbelous@marvell.com>

Code inspection found that in case of mapping error we do return current
'ret' value. But beside error, it is used to count number of descriptors
allocated for the packet. In that case map_skb function could return '1'.

Changing it to return zero (number of mapped descriptors for skb)

Fixes: 018423e90bee ("net: ethernet: aquantia: Add ring support code")
Signed-off-by: Pavel Belous <pbelous@marvell.com>
Signed-off-by: Igor Russkikh <irusskikh@marvell.com>
Signed-off-by: Dmitry Bogdanov <dbogdanov@marvell.com>
 drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff mbox series

diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c
index 263beea1859c..e95f6a6bef73 100644
--- a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c
+++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c
@@ -533,8 +533,10 @@  unsigned int aq_nic_map_skb(struct aq_nic_s *self, struct sk_buff *skb,
-	if (unlikely(dma_mapping_error(aq_nic_get_dev(self), dx_buff->pa)))
+	if (unlikely(dma_mapping_error(aq_nic_get_dev(self), dx_buff->pa))) {
+		ret = 0;
 		goto exit;
+	}
 	first = dx_buff;
 	dx_buff->len_pkt = skb->len;