Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932117AbbERORe (ORCPT ); Mon, 18 May 2015 10:17:34 -0400 Received: from s159.web-hosting.com ([68.65.121.203]:46038 "EHLO s159.web-hosting.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932068AbbERORa (ORCPT ); Mon, 18 May 2015 10:17:30 -0400 From: Jagan Teki To: linux-kernel@vger.kernel.org Cc: devel@driverdev.osuosl.org, Jagan Teki , Greg Kroah-Hartman , Larry Finger , Florian Schilhabel Subject: [PATCH v2] staging: rtl8712: Use ether_addr_copy() instead of memcpy() Date: Mon, 18 May 2015 19:47:06 +0530 Message-Id: <1431958626-4345-1-git-send-email-jteki@openedev.com> X-Mailer: git-send-email 1.9.1 X-OutGoing-Spam-Status: No, score=-1.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - server159.web-hosting.com X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - openedev.com X-Get-Message-Sender-Via: server159.web-hosting.com: authenticated_id: jteki@openedev.com X-Source: X-Source-Args: X-Source-Dir: X-From-Rewrite: unmodified, already matched Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4534 Lines: 110 Fixes Warning encounter this by applying checkpatch.pl against this file: Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) pahole output for respective structures: - addr->sa_data struct sockaddr { sa_family_t sa_family; /* 0 2 */ char sa_data[14]; /* 2 14 */ /* size: 16, cachelines: 1, members: 2 */ /* last cacheline: 16 bytes */ }; - padapter->eeprompriv.mac_addr struct _adapter { struct dvobj_priv dvobjpriv; /* 0 40 */ struct mlme_priv mlmepriv; /* 40 1560 */ /* --- cacheline 25 boundary (1600 bytes) --- */ struct cmd_priv cmdpriv; /* 1600 136 */ /* --- cacheline 27 boundary (1728 bytes) was 8 bytes ago --- */ struct evt_priv evtpriv; /* 1736 96 */ /* --- cacheline 28 boundary (1792 bytes) was 40 bytes ago --- */ struct io_queue * pio_queue; /* 1832 8 */ struct xmit_priv xmitpriv; /* 1840 912 */ /* --- cacheline 43 boundary (2752 bytes) --- */ struct recv_priv recvpriv; /* 2752 1088 */ /* --- cacheline 60 boundary (3840 bytes) --- */ struct sta_priv stapriv; /* 3840 672 */ /* --- cacheline 70 boundary (4480 bytes) was 32 bytes ago --- */ struct security_priv securitypriv; /* 4512 4816 */ /* --- cacheline 145 boundary (9280 bytes) was 48 bytes ago --- */ struct registry_priv registrypriv; /* 9328 968 */ /* --- cacheline 160 boundary (10240 bytes) was 56 bytes ago --- */ struct wlan_acl_pool acl_list; /* 10296 1536 */ /* --- cacheline 184 boundary (11776 bytes) was 56 bytes ago --- */ struct pwrctrl_priv pwrctrlpriv; /* 11832 224 */ /* --- cacheline 188 boundary (12032 bytes) was 24 bytes ago --- */ struct eeprom_priv eeprompriv; /* 12056 508 */ ........ }; struct eeprom_priv { u8 bautoload_fail_flag; /* 0 1 */ u8 bempty; /* 1 1 */ u8 sys_config; /* 2 1 */ u8 mac_addr[6]; /* 3 6 */ ...... }; - pnetdev->dev_addr dev_addr is interface address infor from generic net_device structure which is properly aligned and have some patches with this change as well. "staging: rtl8712: fix Prefer ether_addr_copy() over memcpy()" (sha1: 36e4d8826b317080e283e4edd08bf8d5ac706f38) Signed-off-by: Jagan Teki Cc: Greg Kroah-Hartman Cc: Larry Finger Cc: Florian Schilhabel --- Changes for v2: - Describe a changelog, to prove address are aligned. drivers/staging/rtl8712/os_intfs.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/staging/rtl8712/os_intfs.c b/drivers/staging/rtl8712/os_intfs.c index 6e776e5..0d27df6 100644 --- a/drivers/staging/rtl8712/os_intfs.c +++ b/drivers/staging/rtl8712/os_intfs.c @@ -181,7 +181,7 @@ static int r871x_net_set_mac_address(struct net_device *pnetdev, void *p) struct sockaddr *addr = p; if (padapter->bup == false) - memcpy(pnetdev->dev_addr, addr->sa_data, ETH_ALEN); + ether_addr_copy(pnetdev->dev_addr, addr->sa_data); return 0; } @@ -395,8 +395,8 @@ static int netdev_open(struct net_device *pnetdev) goto netdev_open_error; if (r8712_initmac == NULL) /* Use the mac address stored in the Efuse */ - memcpy(pnetdev->dev_addr, - padapter->eeprompriv.mac_addr, ETH_ALEN); + ether_addr_copy(pnetdev->dev_addr, + padapter->eeprompriv.mac_addr); else { /* We have to inform f/w to use user-supplied MAC * address. @@ -412,8 +412,8 @@ static int netdev_open(struct net_device *pnetdev) * the eeprompriv.mac_addr should store the mac which * users specify. */ - memcpy(padapter->eeprompriv.mac_addr, - pnetdev->dev_addr, ETH_ALEN); + ether_addr_copy(padapter->eeprompriv.mac_addr, + pnetdev->dev_addr); } if (start_drv_threads(padapter) != _SUCCESS) goto netdev_open_error; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/