net: airoha: Fix dev->dsa_ptr check in airoha_get_dsa_tag()
authorLorenzo Bianconi <lorenzo@kernel.org>
Thu, 6 Mar 2025 10:52:20 +0000 (11:52 +0100)
committerJakub Kicinski <kuba@kernel.org>
Sat, 8 Mar 2025 03:40:23 +0000 (19:40 -0800)
Fix the following warning reported by Smatch static checker in
airoha_get_dsa_tag routine:

drivers/net/ethernet/airoha/airoha_eth.c:1722 airoha_get_dsa_tag()
warn: 'dp' isn't an ERR_PTR

dev->dsa_ptr can't be set to an error pointer, it can just be NULL.
Remove this check since it is already performed in netdev_uses_dsa().

Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/netdev/Z8l3E0lGOcrel07C@lore-desk/T/#m54adc113fcdd8c5e6c5f65ffd60d8e8b1d483d90
Fixes: af3cf757d5c9 ("net: airoha: Move DSA tag in DMA descriptor")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250306-airoha-flowtable-fixes-v1-1-68d3c1296cdd@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/airoha/airoha_eth.c

index e4130576ad10bb926f1353939f29607de0392dd3..c0a642568ac115ea9df6fbaf7133627a4405a36c 100644 (file)
@@ -1741,18 +1741,13 @@ static u32 airoha_get_dsa_tag(struct sk_buff *skb, struct net_device *dev)
 {
 #if IS_ENABLED(CONFIG_NET_DSA)
        struct ethhdr *ehdr;
-       struct dsa_port *dp;
        u8 xmit_tpid;
        u16 tag;
 
        if (!netdev_uses_dsa(dev))
                return 0;
 
-       dp = dev->dsa_ptr;
-       if (IS_ERR(dp))
-               return 0;
-
-       if (dp->tag_ops->proto != DSA_TAG_PROTO_MTK)
+       if (dev->dsa_ptr->tag_ops->proto != DSA_TAG_PROTO_MTK)
                return 0;
 
        if (skb_cow_head(skb, 0))