Browse Source

net: ethernet: qlogic: set error code on failure

When calling dma_mapping_error(), the value of return variable rc is 0.
And when the call returns an unexpected value, rc is not set to a
negative errno. Thus, it will return 0 on the error path, and its
callers cannot detect the bug. This patch fixes the bug, assigning
"-ENOMEM" to err.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=189041

Signed-off-by: Pan Bian <bianpan2016@163.com>
Acked-by: Yuval Mintz <Yuval.Mintz@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Pan Bian 8 years ago
parent
commit
0ff18d2d36
1 changed files with 1 additions and 0 deletions
  1. 1 0
      drivers/net/ethernet/qlogic/qed/qed_ll2.c

+ 1 - 0
drivers/net/ethernet/qlogic/qed/qed_ll2.c

@@ -1730,6 +1730,7 @@ static int qed_ll2_start_xmit(struct qed_dev *cdev, struct sk_buff *skb)
 						       mapping))) {
 						       mapping))) {
 				DP_NOTICE(cdev,
 				DP_NOTICE(cdev,
 					  "Unable to map frag - dropping packet\n");
 					  "Unable to map frag - dropping packet\n");
+				rc = -ENOMEM;
 				goto err;
 				goto err;
 			}
 			}
 		} else {
 		} else {