Messages in this thread Patch in this message |  | | From | Karim Eshapa <> | Subject | RE: [PATCH] drivers:staging:wlan-ng:hfa384x_usb: Fixing sparse warnings. | Date | Wed, 10 May 2017 15:15:38 +0200 |
| |
Change the types of capture header, finally we need the header to be represented in the network byte order as __be.. this is a piece of doc that he mentioned it in the code doc/capturefrm.txt You can check https://github.com/jdkoftinoff/mb-linux-msli/blob/master/ uClinux-dist/user/wlan-ng/doc/capturefrm.txt
3. Byte Order All multibyte fields of the capture header are in "network" byte order. The "host to network" and "network to host" functions should work just fine. All the remaining multibyte fields are ordered according to their respective standards.
4. Capture Header Format The following fields make up the AVS capture header:
Offset Name Type ------------------------------ 0 version uint32 4 length uint32 8 mactime uint64 16 hosttime uint64 24 phytype uint32 28 channel uint32 32 datarate uint32 36 antenna uint32 40 priority uint32 44 ssi_type uint32 48 ssi_signal int32 52 ssi_noise int32 56 preamble uint32 60 encoding uint32 ------------------------------
and the warnings here fixed
drivers/staging/wlan-ng/hfa384x_usb.c:3514:33: warning: incorrect type in assignment (different base types) drivers/staging/wlan-ng/hfa384x_usb.c:3514:33: expected unsigned int [unsigned] [usertype] version drivers/staging/wlan-ng/hfa384x_usb.c:3514:33: got restricted __be32 [usertype] <noident> drivers/staging/wlan-ng/hfa384x_usb.c:3515:32: warning: incorrect type in assignment (different base types) drivers/staging/wlan-ng/hfa384x_usb.c:3515:32: expected unsigned int [unsigned] [usertype] length drivers/staging/wlan-ng/hfa384x_usb.c:3515:32: got restricted __be32 [usertype] <noident> drivers/staging/wlan-ng/hfa384x_usb.c:3516:35: warning: restricted __be64 degrades to integer drivers/staging/wlan-ng/hfa384x_usb.c:3517:34: warning: incorrect type in assignment (different base types) drivers/staging/wlan-ng/hfa384x_usb.c:3517:34: expected unsigned long long [unsigned] [usertype] hosttime drivers/staging/wlan-ng/hfa384x_usb.c:3517:34: got restricted __be64 [usertype] <noident> drivers/staging/wlan-ng/hfa384x_usb.c:3518:33: warning: incorrect type in assignment (different base types) drivers/staging/wlan-ng/hfa384x_usb.c:3518:33: expected unsigned int [unsigned] [usertype] phytype drivers/staging/wlan-ng/hfa384x_usb.c:3518:33: got restricted __be32 [usertype] <noident> drivers/staging/wlan-ng/hfa384x_usb.c:3519:33: warning: incorrect type in assignment (different base types) drivers/staging/wlan-ng/hfa384x_usb.c:3519:33: expected unsigned int [unsigned] [usertype] channel drivers/staging/wlan-ng/hfa384x_usb.c:3519:33: got restricted __be32 [usertype] <noident> drivers/staging/wlan-ng/hfa384x_usb.c:3520:34: warning: incorrect type in assignment (different base types) drivers/staging/wlan-ng/hfa384x_usb.c:3520:34: expected unsigned int [unsigned] [usertype] datarate drivers/staging/wlan-ng/hfa384x_usb.c:3520:34: got restricted __be32 [usertype] <noident> drivers/staging/wlan-ng/hfa384x_usb.c:3521:33: warning: incorrect type in assignment (different base types) drivers/staging/wlan-ng/hfa384x_usb.c:3521:33: expected unsigned int [unsigned] [usertype] antenna drivers/staging/wlan-ng/hfa384x_usb.c:3521:33: got restricted __be32 [usertype] <noident> drivers/staging/wlan-ng/hfa384x_usb.c:3522:34: warning: incorrect type in assignment (different base types) drivers/staging/wlan-ng/hfa384x_usb.c:3522:34: expected unsigned int [unsigned] [usertype] priority drivers/staging/wlan-ng/hfa384x_usb.c:3522:34: got restricted __be32 [usertype] <noident> drivers/staging/wlan-ng/hfa384x_usb.c:3523:34: warning: incorrect type in assignment (different base types) drivers/staging/wlan-ng/hfa384x_usb.c:3523:34: expected unsigned int [unsigned] [usertype] ssi_type drivers/staging/wlan-ng/hfa384x_usb.c:3523:34: got restricted __be32 [usertype] <noident> drivers/staging/wlan-ng/hfa384x_usb.c:3524:36: warning: incorrect type in assignment (different base types) drivers/staging/wlan-ng/hfa384x_usb.c:3524:36: expected signed int [signed] [usertype] [explicitly-signed] ssi_signal drivers/staging/wlan-ng/hfa384x_usb.c:3524:36: got restricted __be32 [usertype] <noident> drivers/staging/wlan-ng/hfa384x_usb.c:3525:35: warning: incorrect type in assignment (different base types) drivers/staging/wlan-ng/hfa384x_usb.c:3525:35: expected signed int [signed] [usertype] [explicitly-signed] ssi_noise drivers/staging/wlan-ng/hfa384x_usb.c:3525:35: got restricted __be32 [usertype] <noident> drivers/staging/wlan-ng/hfa384x_usb.c:3526:34: warning: incorrect type in assignment (different base types) drivers/staging/wlan-ng/hfa384x_usb.c:3526:34: expected unsigned int [unsigned] [usertype] preamble drivers/staging/wlan-ng/hfa384x_usb.c:3526:34: got restricted __be32 [usertype] <noident> drivers/staging/wlan-ng/hfa384x_usb.c:3527:34: warning: incorrect type in assignment (different base types) drivers/staging/wlan-ng/hfa384x_usb.c:3527:34: expected unsigned int [unsigned] [usertype] encoding drivers/staging/wlan-ng/hfa384x_usb.c:3527:34: got restricted __be32 [usertype] <noident>
If this patch is fine, can I send the rest of fixes.
Signed-off-by: Karim Eshapa <karim.eshapa@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
|  |