Hello,

While looking into the function 'ixgbe_set_lan_id_multi_port_pcie', it seemed 
like 'bus->lan_id' needs to be set after the port swap check. I might be 
missing some detail here as setting 'bus->lan_id' before port swap check may be 
by design. If it is an issue, please consider applying the following patch. The 
patch applies to linux kernel 3.8.

Also, 'bus->lan_id' (or bus->func) indicates the physical port number used by 
the netdevice. Is the understanding correct ?


From: Narendra K <narendr...@dell.com>
Subject: [PATCH] Set lan_id after the port swap check

'bus->lan_id' is set to 'bus->func', but 'bus->func' can change if port swap
is enabled. Address it by setting 'bus->lan_id' after the port swap check.

Signed-off-by: Narendra K <narendr...@dell.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c 
b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
index 5e68afd..cde335d 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
@@ -659,12 +659,13 @@ void ixgbe_set_lan_id_multi_port_pcie(struct ixgbe_hw *hw)
 
        reg = IXGBE_READ_REG(hw, IXGBE_STATUS);
        bus->func = (reg & IXGBE_STATUS_LAN_ID) >> IXGBE_STATUS_LAN_ID_SHIFT;
-       bus->lan_id = bus->func;
 
        /* check for a port swap */
        reg = IXGBE_READ_REG(hw, IXGBE_FACTPS);
        if (reg & IXGBE_FACTPS_LFS)
                bus->func ^= 0x1;
+
+       bus->lan_id = bus->func;
 }
 
 /**
-- 
1.7.10.1

-- 
With regards,
Narendra K

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to