net: dsa: tag_lan9303: Fix __be16 warnings
authorAndrew Lunn <andrew@lunn.ch>
Sun, 5 Jul 2020 19:30:06 +0000 (21:30 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 5 Jul 2020 22:31:58 +0000 (15:31 -0700)
net/dsa/tag_lan9303.c:76:24: warning: incorrect type in assignment (different base types)
net/dsa/tag_lan9303.c:76:24:    expected unsigned short [usertype]
net/dsa/tag_lan9303.c:76:24:    got restricted __be16 [usertype]
net/dsa/tag_lan9303.c:80:24: warning: incorrect type in assignment (different base types)
net/dsa/tag_lan9303.c:80:24:    expected unsigned short [usertype]
net/dsa/tag_lan9303.c:80:24:    got restricted __be16 [usertype]
net/dsa/tag_lan9303.c:106:31: warning: restricted __be16 degrades to integer
net/dsa/tag_lan9303.c:111:24: warning: cast to restricted __be16
net/dsa/tag_lan9303.c:111:24: warning: cast to restricted __be16
net/dsa/tag_lan9303.c:111:24: warning: cast to restricted __be16
net/dsa/tag_lan9303.c:111:24: warning: cast to restricted __be16

Make use of __be16 where appropriate to fix these warnings.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/dsa/tag_lan9303.c

index eb0e7a3..ccfb6f6 100644 (file)
@@ -55,7 +55,8 @@ static int lan9303_xmit_use_arl(struct dsa_port *dp, u8 *dest_addr)
 static struct sk_buff *lan9303_xmit(struct sk_buff *skb, struct net_device *dev)
 {
        struct dsa_port *dp = dsa_slave_to_port(dev);
-       u16 *lan9303_tag;
+       __be16 *lan9303_tag;
+       u16 tag;
 
        /* insert a special VLAN tag between the MAC addresses
         * and the current ethertype field.
@@ -72,12 +73,12 @@ static struct sk_buff *lan9303_xmit(struct sk_buff *skb, struct net_device *dev)
        /* make room between MACs and Ether-Type */
        memmove(skb->data, skb->data + LAN9303_TAG_LEN, 2 * ETH_ALEN);
 
-       lan9303_tag = (u16 *)(skb->data + 2 * ETH_ALEN);
+       lan9303_tag = (__be16 *)(skb->data + 2 * ETH_ALEN);
+       tag = lan9303_xmit_use_arl(dp, skb->data) ?
+               LAN9303_TAG_TX_USE_ALR :
+               dp->index | LAN9303_TAG_TX_STP_OVERRIDE;
        lan9303_tag[0] = htons(ETH_P_8021Q);
-       lan9303_tag[1] = lan9303_xmit_use_arl(dp, skb->data) ?
-                               LAN9303_TAG_TX_USE_ALR :
-                               dp->index | LAN9303_TAG_TX_STP_OVERRIDE;
-       lan9303_tag[1] = htons(lan9303_tag[1]);
+       lan9303_tag[1] = htons(tag);
 
        return skb;
 }
@@ -85,7 +86,7 @@ static struct sk_buff *lan9303_xmit(struct sk_buff *skb, struct net_device *dev)
 static struct sk_buff *lan9303_rcv(struct sk_buff *skb, struct net_device *dev,
                                   struct packet_type *pt)
 {
-       u16 *lan9303_tag;
+       __be16 *lan9303_tag;
        u16 lan9303_tag1;
        unsigned int source_port;
 
@@ -101,7 +102,7 @@ static struct sk_buff *lan9303_rcv(struct sk_buff *skb, struct net_device *dev,
         *                           ^
         *                        ->data
         */
-       lan9303_tag = (u16 *)(skb->data - 2);
+       lan9303_tag = (__be16 *)(skb->data - 2);
 
        if (lan9303_tag[0] != htons(ETH_P_8021Q)) {
                dev_warn_ratelimited(&dev->dev, "Dropping packet due to invalid VLAN marker\n");