staging: rtl8188eu: core: Use put_unaligned_le16
authorAmitoj Kaur Chawla <amitoj1606@gmail.com>
Tue, 16 Feb 2016 14:26:05 +0000 (19:56 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 20 Feb 2016 23:06:51 +0000 (15:06 -0800)
Introduce the use of function put_unaligned_le16.
This is done using the following Coccinelle semantic patch:

//<smpl>
@@ identifier tmp; expression ptr; expression y,e; type T; @@

- tmp = cpu_to_le16(y);

  <+... when != tmp
- memcpy(ptr, (T)&tmp, ...);
+ put_unaligned_le16(y,ptr);
  ...+>
? tmp = e

@@ type T; identifier tmp; @@

- T tmp;
...when != tmp
//</smpl>

Corresponding header file has been added too.

Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8188eu/core/rtw_mlme_ext.c

index 96e5c6d..e3add48 100644 (file)
@@ -20,6 +20,7 @@
 #define _RTW_MLME_EXT_C_
 
 #include <linux/ieee80211.h>
 #define _RTW_MLME_EXT_C_
 
 #include <linux/ieee80211.h>
+#include <asm/unaligned.h>
 
 #include <osdep_service.h>
 #include <drv_types.h>
 
 #include <osdep_service.h>
 #include <drv_types.h>
@@ -1027,7 +1028,6 @@ static void issue_assocreq(struct adapter *padapter)
        unsigned char           *pframe, *p;
        struct rtw_ieee80211_hdr        *pwlanhdr;
        __le16 *fctrl;
        unsigned char           *pframe, *p;
        struct rtw_ieee80211_hdr        *pwlanhdr;
        __le16 *fctrl;
-       __le16          le_tmp;
        unsigned int    i, j, ie_len, index = 0;
        unsigned char   rf_type, bssrate[NumRates], sta_bssrate[NumRates];
        struct ndis_802_11_var_ie *pIE;
        unsigned int    i, j, ie_len, index = 0;
        unsigned char   rf_type, bssrate[NumRates], sta_bssrate[NumRates];
        struct ndis_802_11_var_ie *pIE;
@@ -1073,8 +1073,7 @@ static void issue_assocreq(struct adapter *padapter)
 
        /* listen interval */
        /* todo: listen interval for power saving */
 
        /* listen interval */
        /* todo: listen interval for power saving */
-       le_tmp = cpu_to_le16(3);
-       memcpy(pframe , (unsigned char *)&le_tmp, 2);
+       put_unaligned_le16(3, pframe);
        pframe += 2;
        pattrib->pktlen += 2;
 
        pframe += 2;
        pattrib->pktlen += 2;