7134de91731092391f9e04ea73ffdc406722a4a5
[openwrt/staging/stintel.git] /
1 From e368d2a1e8b6f0926e4e76a56b484249905192f5 Mon Sep 17 00:00:00 2001
2 From: Lorenzo Bianconi <lorenzo@kernel.org>
3 Date: Thu, 6 Mar 2025 11:52:20 +0100
4 Subject: [PATCH] net: airoha: Fix dev->dsa_ptr check in airoha_get_dsa_tag()
5
6 Fix the following warning reported by Smatch static checker in
7 airoha_get_dsa_tag routine:
8
9 drivers/net/ethernet/airoha/airoha_eth.c:1722 airoha_get_dsa_tag()
10 warn: 'dp' isn't an ERR_PTR
11
12 dev->dsa_ptr can't be set to an error pointer, it can just be NULL.
13 Remove this check since it is already performed in netdev_uses_dsa().
14
15 Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
16 Closes: https://lore.kernel.org/netdev/Z8l3E0lGOcrel07C@lore-desk/T/#m54adc113fcdd8c5e6c5f65ffd60d8e8b1d483d90
17 Fixes: af3cf757d5c9 ("net: airoha: Move DSA tag in DMA descriptor")
18 Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
19 Reviewed-by: Simon Horman <horms@kernel.org>
20 Link: https://patch.msgid.link/20250306-airoha-flowtable-fixes-v1-1-68d3c1296cdd@kernel.org
21 Signed-off-by: Jakub Kicinski <kuba@kernel.org>
22 ---
23 drivers/net/ethernet/airoha/airoha_eth.c | 7 +------
24 1 file changed, 1 insertion(+), 6 deletions(-)
25
26 --- a/drivers/net/ethernet/airoha/airoha_eth.c
27 +++ b/drivers/net/ethernet/airoha/airoha_eth.c
28 @@ -1742,18 +1742,13 @@ static u32 airoha_get_dsa_tag(struct sk_
29 {
30 #if IS_ENABLED(CONFIG_NET_DSA)
31 struct ethhdr *ehdr;
32 - struct dsa_port *dp;
33 u8 xmit_tpid;
34 u16 tag;
35
36 if (!netdev_uses_dsa(dev))
37 return 0;
38
39 - dp = dev->dsa_ptr;
40 - if (IS_ERR(dp))
41 - return 0;
42 -
43 - if (dp->tag_ops->proto != DSA_TAG_PROTO_MTK)
44 + if (dev->dsa_ptr->tag_ops->proto != DSA_TAG_PROTO_MTK)
45 return 0;
46
47 if (skb_cow_head(skb, 0))