From: Aya Mahfouz Date: Sat, 11 Oct 2014 00:25:34 +0000 (+0200) Subject: staging: vt6655: card.c: replace memcpy() by ether_addr_copy() using coccinelle X-Git-Tag: firefly_0821_release~176^2~2665^2~1071 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e1499e81497cd46f296c4680096323f0aadd2604;p=firefly-linux-kernel-4.4.55.git staging: vt6655: card.c: replace memcpy() by ether_addr_copy() using coccinelle This patch focuses on fixing the following warning generated by checkpatch.pl for the file rxtx.c : Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) The changes were applied using the following coccinelle rule: @@ expression e1, e2; @@ - memcpy(e1, e2, ETH_ALEN); + ether_addr_copy(e1, e2); According to ether_addr_copy() description and functionality, all Ethernet addresses should align to the u16 datatype. Here is the output of pahole for the relevant datastructures: struct pmkid_candidate { NDIS_802_11_MAC_ADDRESS BSSID; /* 0 6 */ /* XXX 2 bytes hole, try to pack */ long unsigned int Flags; /* 8 4 */ /* size: 12, cachelines: 1, members: 2 */ /* sum members: 10, holes: 1, sum holes: 2 */ /* last cacheline: 12 bytes */ }; Signed-off-by: Aya Mahfouz Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/vt6655/card.c b/drivers/staging/vt6655/card.c index 5a6950264bdc..f2a33a9742c6 100644 --- a/drivers/staging/vt6655/card.c +++ b/drivers/staging/vt6655/card.c @@ -1000,7 +1000,7 @@ CARDbAdd_PMKID_Candidate( else pCandidateList->Flags &= ~(NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED); - memcpy(pCandidateList->BSSID, pbyBSSID, ETH_ALEN); + ether_addr_copy(pCandidateList->BSSID, pbyBSSID); pDevice->gsPMKIDCandidate.NumCandidates++; pr_debug("NumCandidates:%d\n", (int)pDevice->gsPMKIDCandidate.NumCandidates);