staging: rtl8192u: Fix warnings about endianness
authormaomao xu <albert008.xu@gmail.com>
Fri, 17 Feb 2017 12:04:02 +0000 (20:04 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 6 Mar 2017 08:17:01 +0000 (09:17 +0100)
drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c:564:37: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c:564:37:    expected unsigned short [unsigned] [usertype] len
drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c:564:37:    got restricted __be16 [usertype] <noident>

Signed-off-by: maomao xu <albert008.xu@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c

index 5241c5003ebf34eb7b331c6accac717e8dad7d34..2dfe3802cb1b8e079daf0de3b26616cfc11e7edb 100644 (file)
@@ -559,10 +559,8 @@ void ieee80211_indicate_packets(struct ieee80211_device *ieee, struct ieee80211_
                                memcpy(skb_push(sub_skb, ETH_ALEN), prxb->src, ETH_ALEN);
                                memcpy(skb_push(sub_skb, ETH_ALEN), prxb->dst, ETH_ALEN);
                        } else {
-                               u16 len;
                        /* Leave Ethernet header part of hdr and full payload */
-                               len = htons(sub_skb->len);
-                               memcpy(skb_push(sub_skb, 2), &len, 2);
+                               put_unaligned_be16(sub_skb->len, skb_push(sub_skb, 2));
                                memcpy(skb_push(sub_skb, ETH_ALEN), prxb->src, ETH_ALEN);
                                memcpy(skb_push(sub_skb, ETH_ALEN), prxb->dst, ETH_ALEN);
                        }