Change p80211_caphdr structure args types to __be.. to be
compatible with byte ordering of the network.
and in hfa384x_usb.c make calculations with respect to machine.

Signed-off-by: Karim Eshapa <karim.esh...@gmail.com>
---
 drivers/staging/wlan-ng/hfa384x_usb.c |  2 +-
 drivers/staging/wlan-ng/p80211conv.h  | 28 ++++++++++++++--------------
 2 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/drivers/staging/wlan-ng/hfa384x_usb.c 
b/drivers/staging/wlan-ng/hfa384x_usb.c
index 6134eba..8f989bc 100644
--- a/drivers/staging/wlan-ng/hfa384x_usb.c
+++ b/drivers/staging/wlan-ng/hfa384x_usb.c
@@ -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);
diff --git a/drivers/staging/wlan-ng/p80211conv.h 
b/drivers/staging/wlan-ng/p80211conv.h
index 04bac2e..66332b1 100644
--- a/drivers/staging/wlan-ng/p80211conv.h
+++ b/drivers/staging/wlan-ng/p80211conv.h
@@ -101,20 +101,20 @@ void p80211skb_rxmeta_detach(struct sk_buff *skb);
  * Frame capture header.  (See doc/capturefrm.txt)
  */
 struct p80211_caphdr {
-       u32 version;
-       u32 length;
-       u64 mactime;
-       u64 hosttime;
-       u32 phytype;
-       u32 channel;
-       u32 datarate;
-       u32 antenna;
-       u32 priority;
-       u32 ssi_type;
-       s32 ssi_signal;
-       s32 ssi_noise;
-       u32 preamble;
-       u32 encoding;
+       __be32 version;
+       __be32 length;
+       __be64 mactime;
+       __be64 hosttime;
+       __be32 phytype;
+       __be32 channel;
+       __be32 datarate;
+       __be32 antenna;
+       __be32 priority;
+       __be32 ssi_type;
+       __be32 ssi_signal;
+       __be32 ssi_noise;
+       __be32 preamble;
+       __be32 encoding;
 };
 
 /* buffer free method pointer type */
-- 
2.7.4

Reply via email to