cpu_to_be16 returns a __be16 value. So what it is assigned to needs to
have the same type to avoid warnings.

Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
 net/dsa/tag_ksz.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/net/dsa/tag_ksz.c b/net/dsa/tag_ksz.c
index 90d055c4df9e..bd1a3158d79a 100644
--- a/net/dsa/tag_ksz.c
+++ b/net/dsa/tag_ksz.c
@@ -156,8 +156,9 @@ static struct sk_buff *ksz9477_xmit(struct sk_buff *skb,
 {
        struct dsa_port *dp = dsa_slave_to_port(dev);
        struct sk_buff *nskb;
-       u16 *tag;
+       __be16 *tag;
        u8 *addr;
+       u16 val;
 
        nskb = ksz_common_xmit(skb, dev, KSZ9477_INGRESS_TAG_LEN);
        if (!nskb)
@@ -167,12 +168,12 @@ static struct sk_buff *ksz9477_xmit(struct sk_buff *skb,
        tag = skb_put(nskb, KSZ9477_INGRESS_TAG_LEN);
        addr = skb_mac_header(nskb);
 
-       *tag = BIT(dp->index);
+       val = BIT(dp->index);
 
        if (is_link_local_ether_addr(addr))
-               *tag |= KSZ9477_TAIL_TAG_OVERRIDE;
+               val |= KSZ9477_TAIL_TAG_OVERRIDE;
 
-       *tag = cpu_to_be16(*tag);
+       *tag = cpu_to_be16(val);
 
        return nskb;
 }
-- 
2.27.0.rc2

Reply via email to