staging: r8188eu: Fix sparse endianness warnings.
authorCharlie Sands <sandsch@northvilleschools.net>
Wed, 30 Mar 2022 03:14:05 +0000 (23:14 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 4 Apr 2022 05:33:48 +0000 (07:33 +0200)
This patch fixes sparse warnings about the endianness of different
integers in the driver.

Fixes: 15865124feed ("staging: r8188eu: introduce new core dir for RTL8188eu driver")
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Charlie Sands <sandsch@northvilleschools.net>
Link: https://lore.kernel.org/r/YkPK/QmLAp3BkygY@sckzor-linux.localdomain
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/core/rtw_br_ext.c

index d68611ef22f80f07d9f0a6dc18b4efcb927b6ac5..ed41c4e30262325b3d7b59d2f92d27f2b713ea3f 100644 (file)
@@ -70,7 +70,7 @@ static int __nat25_add_pppoe_tag(struct sk_buff *skb, struct pppoe_tag *tag)
        struct pppoe_hdr *ph = (struct pppoe_hdr *)(skb->data + ETH_HLEN);
        int data_len;
 
-       data_len = tag->tag_len + TAG_HDR_LEN;
+       data_len = be16_to_cpu(tag->tag_len) + TAG_HDR_LEN;
        if (skb_tailroom(skb) < data_len)
                return -1;
 
@@ -432,7 +432,7 @@ int nat25_db_handle(struct adapter *priv, struct sk_buff *skb, int method)
                /*                Handle PPPoE frame                 */
                /*---------------------------------------------------*/
                struct pppoe_hdr *ph = (struct pppoe_hdr *)(skb->data + ETH_HLEN);
-               unsigned short *pMagic;
+               __be16 *pMagic;
 
                switch (method) {
                case NAT25_CHECK:
@@ -471,7 +471,7 @@ int nat25_db_handle(struct adapter *priv, struct sk_buff *skb, int method)
                                                tag->tag_len = htons(MAGIC_CODE_LEN+RTL_RELAY_TAG_LEN+old_tag_len);
 
                                                /*  insert the magic_code+client mac in relay tag */
-                                               pMagic = (unsigned short *)tag->tag_data;
+                                               pMagic = (__be16 *)tag->tag_data;
                                                *pMagic = htons(MAGIC_CODE);
                                                memcpy(tag->tag_data+MAGIC_CODE_LEN, skb->data+ETH_ALEN, ETH_ALEN);
 
@@ -557,9 +557,11 @@ int nat25_db_handle(struct adapter *priv, struct sk_buff *skb, int method)
                                                struct icmp6hdr  *hdr = (struct icmp6hdr *)(skb->data + ETH_HLEN + sizeof(*iph));
                                                hdr->icmp6_cksum = 0;
                                                hdr->icmp6_cksum = csum_ipv6_magic(&iph->saddr, &iph->daddr,
-                                                                               iph->payload_len,
+                                                                               be16_to_cpu(iph->payload_len),
                                                                                IPPROTO_ICMPV6,
-                                                                               csum_partial((__u8 *)hdr, iph->payload_len, 0));
+                                                                               csum_partial((__u8 *)hdr,
+                                                                               be16_to_cpu(iph->payload_len),
+                                                                               0));
                                        }
                                }
                        }