OSDN Git Service

Staging: wlan-ng: Fix endian error
authorAdrien Descamps <adrien.descamps@gmail.com>
Thu, 9 Mar 2017 20:15:19 +0000 (21:15 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 12 Mar 2017 14:17:02 +0000 (15:17 +0100)
sparse report fixed:
drivers/staging//wlan-ng//hfa384x_usb.c:3517:35: warning: restricted __be64 degrades to integer
drivers/staging//wlan-ng//hfa384x_usb.c:3517:33: warning: incorrect type in assignment (different base types)
drivers/staging//wlan-ng//hfa384x_usb.c:3517:33:    expected restricted __be64 [usertype] mactime
drivers/staging//wlan-ng//hfa384x_usb.c:3517:33:    got unsigned long long

Computation on the value should be done when in machine format, not in big endian format.

Signed-off-by: Adrien Descamps <adrien.descamps@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wlan-ng/hfa384x_usb.c

index 6484877..a812e55 100644 (file)
@@ -3513,7 +3513,7 @@ static void hfa384x_int_rxmonitor(struct wlandevice *wlandev,
 
                caphdr->version = htonl(P80211CAPTURE_VERSION);
                caphdr->length = htonl(sizeof(struct p80211_caphdr));
-               caphdr->mactime = __cpu_to_be64(rxdesc->time) * 1000;
+               caphdr->mactime = __cpu_to_be64(rxdesc->time * 1000);
                caphdr->hosttime = __cpu_to_be64(jiffies);
                caphdr->phytype = htonl(4);     /* dss_dot11_b */
                caphdr->channel = htonl(hw->sniff_channel);