On 09/10/2016 01:17 PM, Wei Yongjun wrote:
From: Wei Yongjun <weiyongj...@huawei.com>
Fix missing unlock before return from function macb_start_xmit()
in the error handling case.
Fixes: 007e4ba3ee13 ("net: macb: initialize checksum when using
checksum offloading")
Signed-off-by: Wei Yongjun <weiyongj...@huawei.com>
---
drivers/net/ethernet/cadence/macb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/cadence/macb.c
b/drivers/net/ethernet/cadence/macb.c
index 0294b6a..63144bb 100644
--- a/drivers/net/ethernet/cadence/macb.c
+++ b/drivers/net/ethernet/cadence/macb.c
@@ -1398,7 +1398,7 @@ static int macb_start_xmit(struct sk_buff *skb, struct
net_device *dev)
if (macb_clear_csum(skb)) {
dev_kfree_skb_any(skb);
- return NETDEV_TX_OK;
+ goto unlock;
}
/* Map socket buffer for DMA transfer */
You are definitely right. Sorry I missed that obvious point and for
causing any inconveniences.
BTW, I see there are obviously quite a few users of MACB
implementations. I'm just curious if anybody else ever encountered the
checksum problem or if this a matter of Zynq implementation only.
Regards,
Helmut