From patchwork Fri Aug 25 18:54:57 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Harton X-Patchwork-Id: 28016 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 56FAD7D5A; Fri, 25 Aug 2017 20:55:02 +0200 (CEST) Received: from rcdn-iport-2.cisco.com (rcdn-iport-2.cisco.com [173.37.86.73]) by dpdk.org (Postfix) with ESMTP id 77C147D56 for ; Fri, 25 Aug 2017 20:55:00 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=1265; q=dns/txt; s=iport; t=1503687300; x=1504896900; h=from:to:cc:subject:date:message-id; bh=usmdKyj9n2JAkaByHN/k2CKXDryMoNqvc2/729weUi4=; b=WyUJW64JU7ZtypFbK0Hoqv5CvQRDh0ROAndzgw8Bhl2VakAos5PclUk4 TMJ2KI6+NeVdJywrFmNX2D+OxwrvMz+eWfM8uF/jTh8WTPLI8MiUPHWoK vhAWjjd9T6h9Tjl7/2iDTZc2BoIF0fqVHsVP1DrsjFzck5l6egQODmPGJ c=; X-IronPort-AV: E=Sophos;i="5.41,426,1498521600"; d="scan'208";a="290416507" Received: from alln-core-1.cisco.com ([173.36.13.131]) by rcdn-iport-2.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 25 Aug 2017 18:54:59 +0000 Received: from cpp-rtpbld-31.cisco.com (cpp-rtpbld-31.cisco.com [172.18.5.114]) by alln-core-1.cisco.com (8.14.5/8.14.5) with ESMTP id v7PIsx7S031678; Fri, 25 Aug 2017 18:54:59 GMT Received: by cpp-rtpbld-31.cisco.com (Postfix, from userid 140087) id 4F9145AB; Fri, 25 Aug 2017 14:54:59 -0400 (EDT) From: David Harton To: skhare@vmware.com Cc: dev@dpdk.org, David Harton Date: Fri, 25 Aug 2017 14:54:57 -0400 Message-Id: <20170825185457.38261-1-dharton@cisco.com> X-Mailer: git-send-email 2.10.3.dirty Subject: [dpdk-dev] [PATCH] vmxnet3: mac address set fixes X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Updated vmxnet3_mac_addr_set() to store the newly set MAC address. Modified vmxnet3_write_mac() so the h/w is updated in an endian neutral manner. Signed-off-by: David Harton Acked-by: Shrikrishna Khare --- drivers/net/vmxnet3/vmxnet3_ethdev.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c index 06735dd..6525bb2 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c @@ -537,10 +537,10 @@ static int eth_vmxnet3_pci_remove(struct rte_pci_device *pci_dev) addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]); - val = *(const uint32_t *)addr; + memcpy(&val, addr, 4); VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_MACL, val); - val = (addr[5] << 8) | addr[4]; + memcpy(&val, addr + 4, 2); VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_MACH, val); } @@ -1146,6 +1146,8 @@ static int eth_vmxnet3_pci_remove(struct rte_pci_device *pci_dev) { struct vmxnet3_hw *hw = dev->data->dev_private; + ether_addr_copy(mac_addr, (struct ether_addr *)(hw->perm_addr)); + ether_addr_copy(mac_addr, &dev->data->mac_addrs[0]); vmxnet3_write_mac(hw, mac_addr->addr_bytes); }