From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 946B82C06 for ; Thu, 24 Mar 2016 07:37:21 +0100 (CET) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP; 23 Mar 2016 23:37:22 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,383,1455004800"; d="scan'208";a="940474548" Received: from shvmail01.sh.intel.com ([10.239.29.42]) by orsmga002.jf.intel.com with ESMTP; 23 Mar 2016 23:37:20 -0700 Received: from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com [10.239.29.89]) by shvmail01.sh.intel.com with ESMTP id u2O6bHS1025657; Thu, 24 Mar 2016 14:37:17 +0800 Received: from shecgisg004.sh.intel.com (localhost [127.0.0.1]) by shecgisg004.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP id u2O6bEvs025928; Thu, 24 Mar 2016 14:37:16 +0800 Received: (from wenzhuol@localhost) by shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id u2O6bEG2025924; Thu, 24 Mar 2016 14:37:14 +0800 From: Wenzhuo Lu To: dev@dpdk.org Cc: Wenzhuo Lu Date: Thu, 24 Mar 2016 14:37:10 +0800 Message-Id: <1458801431-25886-2-git-send-email-wenzhuo.lu@intel.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1458801431-25886-1-git-send-email-wenzhuo.lu@intel.com> References: <1458801431-25886-1-git-send-email-wenzhuo.lu@intel.com> Subject: [dpdk-dev] [PATCH 1/2] ixgbe: fix the wrong address of device data pointer X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Mar 2016 06:37:22 -0000 There's an issue reported. In the scenario DPDK PF + DPDK VF, if the VF port is closed, PF port cannot receive packets. I found at that time the promicuous mode is disabled on the PF port. But it should be enabled. When VF port is closed, it will send a message to its PF port to reset it. During this, PF port will also reset its own promicuous mode. Which promiscuous mode should be set depends on the parameter stored in the device data. In the function set_rx_mode, the pointer of device data points to the wrong address. So, the promiscuous mode is wrong. Fixes: 00e30184daa0("ixgbe: add PF support") Signed-off-by: Wenzhuo Lu Reported-by: Bernard Iremonger --- drivers/net/ixgbe/ixgbe_pf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ixgbe/ixgbe_pf.c b/drivers/net/ixgbe/ixgbe_pf.c index b854c72..0f8ad55 100644 --- a/drivers/net/ixgbe/ixgbe_pf.c +++ b/drivers/net/ixgbe/ixgbe_pf.c @@ -313,7 +313,7 @@ static void set_rx_mode(struct rte_eth_dev *dev) { struct rte_eth_dev_data *dev_data = - (struct rte_eth_dev_data*)dev->data->dev_private; + (struct rte_eth_dev_data *)dev->data; struct ixgbe_hw *hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private); u32 fctrl, vmolr = IXGBE_VMOLR_BAM | IXGBE_VMOLR_AUPE; uint16_t vfn = dev_num_vf(dev); -- 1.9.3