brcmfmac: Use put_unaligned_le32
authorVaishali Thakkar <vthakkar1994@gmail.com>
Fri, 16 Jan 2015 16:06:14 +0000 (21:36 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Fri, 23 Jan 2015 19:12:52 +0000 (21:12 +0200)
This patch introduces the use of function put_unaligned_le32.

This is done using Coccinelle and semantic patch used is as follows:

@a@
typedef u32, __le32, uint32_t;
{u32,__le32,uint32_t} e32;
identifier tmp;
expression ptr;
expression y,e;
type T;
type T;
@@

- tmp = cpu_to_le32(y);

<+... when != tmp
(
- memcpy(ptr, (T)&tmp, \(4\|sizeof(u32)\|sizeof(__le32)\|sizeof(uint32_t)\|sizeof(e32)\));
+ put_unaligned_le32(y,ptr);
|
- memcpy(ptr, (T)&tmp, ...);
+ put_unaligned_le32(y,ptr);
)
...+>
? tmp = e

@@ type T; identifier a.tmp; @@

- T tmp;
...when != tmp

Signed-off-by: Vaishali Thakkar <vthakkar1994@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/brcm80211/brcmfmac/cfg80211.c

index ebe6543..5eba81b 100644 (file)
@@ -3737,17 +3737,12 @@ static u32
 brcmf_vndr_ie(u8 *iebuf, s32 pktflag, u8 *ie_ptr, u32 ie_len, s8 *add_del_cmd)
 {
 
-       __le32 iecount_le;
-       __le32 pktflag_le;
-
        strncpy(iebuf, add_del_cmd, VNDR_IE_CMD_LEN - 1);
        iebuf[VNDR_IE_CMD_LEN - 1] = '\0';
 
-       iecount_le = cpu_to_le32(1);
-       memcpy(&iebuf[VNDR_IE_COUNT_OFFSET], &iecount_le, sizeof(iecount_le));
+       put_unaligned_le32(1, &iebuf[VNDR_IE_COUNT_OFFSET]);
 
-       pktflag_le = cpu_to_le32(pktflag);
-       memcpy(&iebuf[VNDR_IE_PKTFLAG_OFFSET], &pktflag_le, sizeof(pktflag_le));
+       put_unaligned_le32(pktflag, &iebuf[VNDR_IE_PKTFLAG_OFFSET]);
 
        memcpy(&iebuf[VNDR_IE_VSIE_OFFSET], ie_ptr, ie_len);