netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [net 00/10][pull request] Intel Wired LAN Driver Update
@ 2011-11-03  0:19 Jeff Kirsher
  2011-11-03  0:19 ` [net 01/10] e1000e: demote a debugging WARN to a debug log message Jeff Kirsher
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: Jeff Kirsher @ 2011-11-03  0:19 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

The following series contains fixes to e100, e1000e, igb, ixgbe and
ixgbevf.  The bulk of the fixes are to ixgbe.  Here is a summary
of the changes:

e100 - make sure VLAN support is not advertised for older adapters
e1000e - fix a debugging message
igb -  fix a PHY cable length unit detection
ixgbe - fix the following: link issues, reading of buffer, disable Tx
  laser at probe, compiler warnings, missing NULL check and DCB IEEE
  traffic classes
ixgbevf - bump version

The following are changes since commit 2edcd4ca43df3c1d1d392753531cc73a53e709ba:
  net: fix typo in drivers/net/ethernet/xilinx/ll_temac_main.c
and are available in the git repository at
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net.git

Bruce Allan (1):
  e1000e: demote a debugging WARN to a debug log message

Emil Tantilov (3):
  ixgbe: Fix link issues caused by a reset while interface is down
  ixgbe: fix disabling of Tx laser at probe
  ixgbe: fix reading of the buffer returned by the firmware

Greg Rose (2):
  ixgbe: Fix compiler warnings
  ixgbevf: Update release version

Jesse Brandeburg (1):
  e100: make sure vlan support isn't advertised on old adapters

John Fastabend (2):
  ixgbe: fix smatch splat due to missing NULL check
  ixgbe: DCB, return max for IEEE traffic classes

Kantecki, Tomasz (1):
  igb: Fix for I347AT4 PHY cable length unit detection

 drivers/net/ethernet/intel/e100.c                 |    4 ++
 drivers/net/ethernet/intel/e1000e/ich8lan.c       |    3 +-
 drivers/net/ethernet/intel/igb/e1000_phy.c        |    2 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c   |   20 +++++----
 drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c   |   10 +++--
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c     |   48 ++++++++------------
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h    |    2 +
 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c |    2 +-
 8 files changed, 45 insertions(+), 46 deletions(-)

-- 
1.7.6.4

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [net 01/10] e1000e: demote a debugging WARN to a debug log message
  2011-11-03  0:19 [net 00/10][pull request] Intel Wired LAN Driver Update Jeff Kirsher
@ 2011-11-03  0:19 ` Jeff Kirsher
  2011-11-03  0:19 ` [net 02/10] e100: make sure vlan support isn't advertised on old adapters Jeff Kirsher
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Jeff Kirsher @ 2011-11-03  0:19 UTC (permalink / raw)
  To: davem; +Cc: Bruce Allan, netdev, gospo, sassmann, Jeff Kirsher

From: Bruce Allan <bruce.w.allan@intel.com>

This debugging message was recently added but it does not need to be as
alarming as a WARN.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/e1000e/ich8lan.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c
index 6a17c62..e2a80a2 100644
--- a/drivers/net/ethernet/intel/e1000e/ich8lan.c
+++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c
@@ -866,8 +866,7 @@ static s32 e1000_acquire_swflag_ich8lan(struct e1000_hw *hw)
 
 	if (test_and_set_bit(__E1000_ACCESS_SHARED_RESOURCE,
 			     &hw->adapter->state)) {
-		WARN(1, "e1000e: %s: contention for Phy access\n",
-		     hw->adapter->netdev->name);
+		e_dbg("contention for Phy access\n");
 		return -E1000_ERR_PHY;
 	}
 
-- 
1.7.6.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [net 02/10] e100: make sure vlan support isn't advertised on old adapters
  2011-11-03  0:19 [net 00/10][pull request] Intel Wired LAN Driver Update Jeff Kirsher
  2011-11-03  0:19 ` [net 01/10] e1000e: demote a debugging WARN to a debug log message Jeff Kirsher
@ 2011-11-03  0:19 ` Jeff Kirsher
  2011-11-03  0:19 ` [net 03/10] igb: Fix for I347AT4 PHY cable length unit detection Jeff Kirsher
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Jeff Kirsher @ 2011-11-03  0:19 UTC (permalink / raw)
  To: davem
  Cc: Jesse Brandeburg, netdev, gospo, sassmann, Michael Tokarev,
	David Lamparter, Jeff Kirsher

From: Jesse Brandeburg <jesse.brandeburg@intel.com>

e100 parts don't support vlan offload but they generally do
allow use of vlans in higher software layers via the 8021q module.
That said, there are a couple of really old revisions of e100
hardware that don't even allow the longer frame sizes
required for vlan use with standard MTU.

Use the VLAN_CHALLENGED flag to prevent vlan binding to these
devices.

Reported-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
CC: Michael Tokarev <mjt@tls.msk.ru>
CC: David Lamparter <equinox@diac24.net>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/e100.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/net/ethernet/intel/e100.c b/drivers/net/ethernet/intel/e100.c
index ae17cd1..5a2fdf7 100644
--- a/drivers/net/ethernet/intel/e100.c
+++ b/drivers/net/ethernet/intel/e100.c
@@ -2810,6 +2810,10 @@ static int __devinit e100_probe(struct pci_dev *pdev,
 
 	e100_get_defaults(nic);
 
+	/* D100 MAC doesn't allow rx of vlan packets with normal MTU */
+	if (nic->mac < mac_82558_D101_A4)
+		netdev->features |= NETIF_F_VLAN_CHALLENGED;
+
 	/* locks must be initialized before calling hw_reset */
 	spin_lock_init(&nic->cb_lock);
 	spin_lock_init(&nic->cmd_lock);
-- 
1.7.6.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [net 03/10] igb: Fix for I347AT4 PHY cable length unit detection
  2011-11-03  0:19 [net 00/10][pull request] Intel Wired LAN Driver Update Jeff Kirsher
  2011-11-03  0:19 ` [net 01/10] e1000e: demote a debugging WARN to a debug log message Jeff Kirsher
  2011-11-03  0:19 ` [net 02/10] e100: make sure vlan support isn't advertised on old adapters Jeff Kirsher
@ 2011-11-03  0:19 ` Jeff Kirsher
  2011-11-03  0:19 ` [net 04/10] ixgbe: Fix link issues caused by a reset while interface is down Jeff Kirsher
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Jeff Kirsher @ 2011-11-03  0:19 UTC (permalink / raw)
  To: davem; +Cc: Kantecki, Tomasz, netdev, gospo, sassmann, Jeff Kirsher

From: "Kantecki, Tomasz" <tomasz.kantecki@intel.com>

The PHY cable length unit detection was not using the correct
the correct PHY data variable for I347AT4.

Signed-off-by: Tomasz Kantecki <tomasz.kantecki@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/igb/e1000_phy.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ethernet/intel/igb/e1000_phy.c b/drivers/net/ethernet/intel/igb/e1000_phy.c
index 7edf31e..b17d7c2 100644
--- a/drivers/net/ethernet/intel/igb/e1000_phy.c
+++ b/drivers/net/ethernet/intel/igb/e1000_phy.c
@@ -1687,7 +1687,7 @@ s32 igb_get_cable_length_m88_gen2(struct e1000_hw *hw)
 		if (ret_val)
 			goto out;
 
-		is_cm = !(phy_data & I347AT4_PCDC_CABLE_LENGTH_UNIT);
+		is_cm = !(phy_data2 & I347AT4_PCDC_CABLE_LENGTH_UNIT);
 
 		/* Populate the phy structure with cable length in meters */
 		phy->min_cable_length = phy_data / (is_cm ? 100 : 1);
-- 
1.7.6.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [net 04/10] ixgbe: Fix link issues caused by a reset while interface is down
  2011-11-03  0:19 [net 00/10][pull request] Intel Wired LAN Driver Update Jeff Kirsher
                   ` (2 preceding siblings ...)
  2011-11-03  0:19 ` [net 03/10] igb: Fix for I347AT4 PHY cable length unit detection Jeff Kirsher
@ 2011-11-03  0:19 ` Jeff Kirsher
  2011-11-03  0:19 ` [net 05/10] ixgbe: fix disabling of Tx laser at probe Jeff Kirsher
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Jeff Kirsher @ 2011-11-03  0:19 UTC (permalink / raw)
  To: davem; +Cc: Emil Tantilov, netdev, gospo, sassmann, Jeff Kirsher

From: Emil Tantilov <emil.s.tantilov@intel.com>

Interface fails to obtain link on 82599 SFP in the following scenario:

1. Set advertised speed to GB:
ethtool -s eth0 advertise 0x20

2. Bring interface down
ip link set eth0 down

3. Issue any command that leads to a reset:
ethtool -t eth0

4. Bring link back up:
ip link set eth0 up

Following patch makes sure that the driver flaps the Tx laser every time
ixgbe_start_hw() is called, and not only when the speed is set.

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 09b8e88..b7abf43 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -6125,7 +6125,6 @@ static void ixgbe_sfp_link_config_subtask(struct ixgbe_adapter *adapter)
 	autoneg = hw->phy.autoneg_advertised;
 	if ((!autoneg) && (hw->mac.ops.get_link_capabilities))
 		hw->mac.ops.get_link_capabilities(hw, &autoneg, &negotiation);
-	hw->mac.autotry_restart = false;
 	if (hw->mac.ops.setup_link)
 		hw->mac.ops.setup_link(hw, autoneg, negotiation, true);
 
-- 
1.7.6.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [net 05/10] ixgbe: fix disabling of Tx laser at probe
  2011-11-03  0:19 [net 00/10][pull request] Intel Wired LAN Driver Update Jeff Kirsher
                   ` (3 preceding siblings ...)
  2011-11-03  0:19 ` [net 04/10] ixgbe: Fix link issues caused by a reset while interface is down Jeff Kirsher
@ 2011-11-03  0:19 ` Jeff Kirsher
  2011-11-03  0:19 ` [net 06/10] ixgbe: fix smatch splat due to missing NULL check Jeff Kirsher
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Jeff Kirsher @ 2011-11-03  0:19 UTC (permalink / raw)
  To: davem; +Cc: Emil Tantilov, netdev, gospo, sassmann, Jeff Kirsher

From: Emil Tantilov <emil.s.tantilov@intel.com>

register_netdev() calls ndo_set_features() which may result in HW reset
which in turn will bring the laser back up.

This patch moves ixgbe_laser_tx_disable() below register_netdev()
in ixgbe_probe() to make sure laser is shut off on load.

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index b7abf43..2e9fd9d 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -7588,13 +7588,6 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
 		goto err_eeprom;
 	}
 
-	/* power down the optics for multispeed fiber and 82599 SFP+ fiber */
-	if (hw->mac.ops.disable_tx_laser &&
-	    ((hw->phy.multispeed_fiber) ||
-	     ((hw->mac.ops.get_media_type(hw) == ixgbe_media_type_fiber) &&
-	      (hw->mac.type == ixgbe_mac_82599EB))))
-		hw->mac.ops.disable_tx_laser(hw);
-
 	setup_timer(&adapter->service_timer, &ixgbe_service_timer,
 	            (unsigned long) adapter);
 
@@ -7692,6 +7685,13 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
 	if (err)
 		goto err_register;
 
+	/* power down the optics for multispeed fiber and 82599 SFP+ fiber */
+	if (hw->mac.ops.disable_tx_laser &&
+	    ((hw->phy.multispeed_fiber) ||
+	     ((hw->mac.ops.get_media_type(hw) == ixgbe_media_type_fiber) &&
+	      (hw->mac.type == ixgbe_mac_82599EB))))
+		hw->mac.ops.disable_tx_laser(hw);
+
 	/* carrier off reporting is important to ethtool even BEFORE open */
 	netif_carrier_off(netdev);
 
-- 
1.7.6.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [net 06/10] ixgbe: fix smatch splat due to missing NULL check
  2011-11-03  0:19 [net 00/10][pull request] Intel Wired LAN Driver Update Jeff Kirsher
                   ` (4 preceding siblings ...)
  2011-11-03  0:19 ` [net 05/10] ixgbe: fix disabling of Tx laser at probe Jeff Kirsher
@ 2011-11-03  0:19 ` Jeff Kirsher
  2011-11-03  0:19 ` [net 07/10] ixgbe: Fix compiler warnings Jeff Kirsher
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Jeff Kirsher @ 2011-11-03  0:19 UTC (permalink / raw)
  To: davem; +Cc: John Fastabend, netdev, gospo, sassmann, Jeff Kirsher

From: John Fastabend <john.r.fastabend@intel.com>

ixgbe_ieee_ets and ixgbe_ieee_pfc are intialized at
the same time. Do a check for both before configuring
IEEE802.1Qaz. Also max_frame was causing a sparse
warning resolved here as well.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |   33 +++++++++----------------
 1 files changed, 12 insertions(+), 21 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 2e9fd9d..8ef92d1 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -3345,34 +3345,25 @@ static void ixgbe_configure_dcb(struct ixgbe_adapter *adapter)
 
 	hw->mac.ops.set_vfta(&adapter->hw, 0, 0, true);
 
-	/* reconfigure the hardware */
-	if (adapter->dcbx_cap & DCB_CAP_DCBX_VER_CEE) {
 #ifdef IXGBE_FCOE
-		if (adapter->netdev->features & NETIF_F_FCOE_MTU)
-			max_frame = max(max_frame, IXGBE_FCOE_JUMBO_FRAME_SIZE);
+	if (adapter->netdev->features & NETIF_F_FCOE_MTU)
+		max_frame = max(max_frame, IXGBE_FCOE_JUMBO_FRAME_SIZE);
 #endif
+
+	/* reconfigure the hardware */
+	if (adapter->dcbx_cap & DCB_CAP_DCBX_VER_CEE) {
 		ixgbe_dcb_calculate_tc_credits(hw, &adapter->dcb_cfg, max_frame,
 						DCB_TX_CONFIG);
 		ixgbe_dcb_calculate_tc_credits(hw, &adapter->dcb_cfg, max_frame,
 						DCB_RX_CONFIG);
 		ixgbe_dcb_hw_config(hw, &adapter->dcb_cfg);
-	} else {
-		struct net_device *dev = adapter->netdev;
-
-		if (adapter->ixgbe_ieee_ets) {
-			struct ieee_ets *ets = adapter->ixgbe_ieee_ets;
-			int max_frame = dev->mtu + ETH_HLEN + ETH_FCS_LEN;
-
-			ixgbe_dcb_hw_ets(&adapter->hw, ets, max_frame);
-		}
-
-		if (adapter->ixgbe_ieee_pfc) {
-			struct ieee_pfc *pfc = adapter->ixgbe_ieee_pfc;
-			u8 *prio_tc = adapter->ixgbe_ieee_ets->prio_tc;
-
-			ixgbe_dcb_hw_pfc_config(&adapter->hw, pfc->pfc_en,
-						prio_tc);
-		}
+	} else if (adapter->ixgbe_ieee_ets && adapter->ixgbe_ieee_pfc) {
+		ixgbe_dcb_hw_ets(&adapter->hw,
+				 adapter->ixgbe_ieee_ets,
+				 max_frame);
+		ixgbe_dcb_hw_pfc_config(&adapter->hw,
+					adapter->ixgbe_ieee_pfc->pfc_en,
+					adapter->ixgbe_ieee_ets->prio_tc);
 	}
 
 	/* Enable RSS Hash per TC */
-- 
1.7.6.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [net 07/10] ixgbe: Fix compiler warnings
  2011-11-03  0:19 [net 00/10][pull request] Intel Wired LAN Driver Update Jeff Kirsher
                   ` (5 preceding siblings ...)
  2011-11-03  0:19 ` [net 06/10] ixgbe: fix smatch splat due to missing NULL check Jeff Kirsher
@ 2011-11-03  0:19 ` Jeff Kirsher
  2011-11-03  0:19 ` [net 08/10] ixgbe: fix reading of the buffer returned by the firmware Jeff Kirsher
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Jeff Kirsher @ 2011-11-03  0:19 UTC (permalink / raw)
  To: davem; +Cc: Greg Rose, netdev, gospo, sassmann, Jeff Kirsher

From: Greg Rose <gregory.v.rose@intel.com>

Wrap SR-IOV specific functions in CONFIG_PCI_IOV to avoid compiler
warnings.

Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Tested-by: Sibai Li <sibai.li@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h
index 5a7e1eb..4a5d889 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h
@@ -42,10 +42,12 @@ int ixgbe_ndo_set_vf_spoofchk(struct net_device *netdev, int vf, bool setting);
 int ixgbe_ndo_get_vf_config(struct net_device *netdev,
 			    int vf, struct ifla_vf_info *ivi);
 void ixgbe_check_vf_rate_limit(struct ixgbe_adapter *adapter);
+#ifdef CONFIG_PCI_IOV
 void ixgbe_disable_sriov(struct ixgbe_adapter *adapter);
 void ixgbe_enable_sriov(struct ixgbe_adapter *adapter,
 			const struct ixgbe_info *ii);
 int ixgbe_check_vf_assignment(struct ixgbe_adapter *adapter);
+#endif
 
 
 #endif /* _IXGBE_SRIOV_H_ */
-- 
1.7.6.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [net 08/10] ixgbe: fix reading of the buffer returned by the firmware
  2011-11-03  0:19 [net 00/10][pull request] Intel Wired LAN Driver Update Jeff Kirsher
                   ` (6 preceding siblings ...)
  2011-11-03  0:19 ` [net 07/10] ixgbe: Fix compiler warnings Jeff Kirsher
@ 2011-11-03  0:19 ` Jeff Kirsher
  2011-11-03  0:20 ` [net 09/10] ixgbe: DCB, return max for IEEE traffic classes Jeff Kirsher
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: Jeff Kirsher @ 2011-11-03  0:19 UTC (permalink / raw)
  To: davem; +Cc: Emil Tantilov, netdev, gospo, sassmann, Jeff Kirsher

From: Emil Tantilov <emil.s.tantilov@intel.com>

This patch fixes some issues found in the buffer read portion of
ixgbe_host_interface_command()

- use `bi` as the buffer index counter instead of `i`
- add conversion to native cpu byte ordering on register read
- fix conversion from bytes to dword
- use dword_len instead of buf_len when reading the register

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
index 834f044..f1365fe 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
@@ -3344,7 +3344,7 @@ static u8 ixgbe_calculate_checksum(u8 *buffer, u32 length)
 static s32 ixgbe_host_interface_command(struct ixgbe_hw *hw, u32 *buffer,
 					u32 length)
 {
-	u32 hicr, i;
+	u32 hicr, i, bi;
 	u32 hdr_size = sizeof(struct ixgbe_hic_hdr);
 	u8 buf_len, dword_len;
 
@@ -3398,9 +3398,9 @@ static s32 ixgbe_host_interface_command(struct ixgbe_hw *hw, u32 *buffer,
 	dword_len = hdr_size >> 2;
 
 	/* first pull in the header so we know the buffer length */
-	for (i = 0; i < dword_len; i++) {
-		buffer[i] = IXGBE_READ_REG_ARRAY(hw, IXGBE_FLEX_MNG, i);
-		le32_to_cpus(&buffer[i]);
+	for (bi = 0; bi < dword_len; bi++) {
+		buffer[bi] = IXGBE_READ_REG_ARRAY(hw, IXGBE_FLEX_MNG, bi);
+		le32_to_cpus(&buffer[bi]);
 	}
 
 	/* If there is any thing in data position pull it in */
@@ -3414,12 +3414,14 @@ static s32 ixgbe_host_interface_command(struct ixgbe_hw *hw, u32 *buffer,
 		goto out;
 	}
 
-	/* Calculate length in DWORDs, add one for odd lengths */
-	dword_len = (buf_len + 1) >> 2;
+	/* Calculate length in DWORDs, add 3 for odd lengths */
+	dword_len = (buf_len + 3) >> 2;
 
-	/* Pull in the rest of the buffer (i is where we left off)*/
-	for (; i < buf_len; i++)
-		buffer[i] = IXGBE_READ_REG_ARRAY(hw, IXGBE_FLEX_MNG, i);
+	/* Pull in the rest of the buffer (bi is where we left off)*/
+	for (; bi <= dword_len; bi++) {
+		buffer[bi] = IXGBE_READ_REG_ARRAY(hw, IXGBE_FLEX_MNG, bi);
+		le32_to_cpus(&buffer[bi]);
+	}
 
 out:
 	return ret_val;
-- 
1.7.6.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [net 09/10] ixgbe: DCB, return max for IEEE traffic classes
  2011-11-03  0:19 [net 00/10][pull request] Intel Wired LAN Driver Update Jeff Kirsher
                   ` (7 preceding siblings ...)
  2011-11-03  0:19 ` [net 08/10] ixgbe: fix reading of the buffer returned by the firmware Jeff Kirsher
@ 2011-11-03  0:20 ` Jeff Kirsher
  2011-11-03  0:20 ` [net 10/10] ixgbevf: Update release version Jeff Kirsher
  2011-11-04  1:57 ` [net 00/10][pull request] Intel Wired LAN Driver Update David Miller
  10 siblings, 0 replies; 12+ messages in thread
From: Jeff Kirsher @ 2011-11-03  0:20 UTC (permalink / raw)
  To: davem; +Cc: John Fastabend, netdev, gospo, sassmann, Jeff Kirsher

From: John Fastabend <john.r.fastabend@intel.com>

Returning the max traffic classes on get requests simplifies
user space configurations because applications will know
explicitly how many traffic classes can be used.

Typical switch implementations use 2 or 3 traffic classes
so this not seen often today. And user space can learn
the number of traffic classes by return codes but this
allows user space to configure ixgbe correctly at the
start.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
index 3631d63..33b93ff 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
@@ -561,11 +561,12 @@ static int ixgbe_dcbnl_ieee_getets(struct net_device *dev,
 	struct ixgbe_adapter *adapter = netdev_priv(dev);
 	struct ieee_ets *my_ets = adapter->ixgbe_ieee_ets;
 
+	ets->ets_cap = adapter->dcb_cfg.num_tcs.pg_tcs;
+
 	/* No IEEE PFC settings available */
 	if (!my_ets)
-		return -EINVAL;
+		return 0;
 
-	ets->ets_cap = adapter->dcb_cfg.num_tcs.pg_tcs;
 	ets->cbs = my_ets->cbs;
 	memcpy(ets->tc_tx_bw, my_ets->tc_tx_bw, sizeof(ets->tc_tx_bw));
 	memcpy(ets->tc_rx_bw, my_ets->tc_rx_bw, sizeof(ets->tc_rx_bw));
@@ -621,11 +622,12 @@ static int ixgbe_dcbnl_ieee_getpfc(struct net_device *dev,
 	struct ieee_pfc *my_pfc = adapter->ixgbe_ieee_pfc;
 	int i;
 
+	pfc->pfc_cap = adapter->dcb_cfg.num_tcs.pfc_tcs;
+
 	/* No IEEE PFC settings available */
 	if (!my_pfc)
-		return -EINVAL;
+		return 0;
 
-	pfc->pfc_cap = adapter->dcb_cfg.num_tcs.pfc_tcs;
 	pfc->pfc_en = my_pfc->pfc_en;
 	pfc->mbc = my_pfc->mbc;
 	pfc->delay = my_pfc->delay;
-- 
1.7.6.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [net 10/10] ixgbevf: Update release version
  2011-11-03  0:19 [net 00/10][pull request] Intel Wired LAN Driver Update Jeff Kirsher
                   ` (8 preceding siblings ...)
  2011-11-03  0:20 ` [net 09/10] ixgbe: DCB, return max for IEEE traffic classes Jeff Kirsher
@ 2011-11-03  0:20 ` Jeff Kirsher
  2011-11-04  1:57 ` [net 00/10][pull request] Intel Wired LAN Driver Update David Miller
  10 siblings, 0 replies; 12+ messages in thread
From: Jeff Kirsher @ 2011-11-03  0:20 UTC (permalink / raw)
  To: davem; +Cc: Greg Rose, netdev, gospo, sassmann, Jeff Kirsher

From: Greg Rose <gregory.v.rose@intel.com>

Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Tested-by: Sibai Li <sibai.li@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
index 5e92cc2..4c8e199 100644
--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
@@ -54,7 +54,7 @@ char ixgbevf_driver_name[] = "ixgbevf";
 static const char ixgbevf_driver_string[] =
 	"Intel(R) 10 Gigabit PCI Express Virtual Function Network Driver";
 
-#define DRV_VERSION "2.1.0-k"
+#define DRV_VERSION "2.2.0-k"
 const char ixgbevf_driver_version[] = DRV_VERSION;
 static char ixgbevf_copyright[] =
 	"Copyright (c) 2009 - 2010 Intel Corporation.";
-- 
1.7.6.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [net 00/10][pull request] Intel Wired LAN Driver Update
  2011-11-03  0:19 [net 00/10][pull request] Intel Wired LAN Driver Update Jeff Kirsher
                   ` (9 preceding siblings ...)
  2011-11-03  0:20 ` [net 10/10] ixgbevf: Update release version Jeff Kirsher
@ 2011-11-04  1:57 ` David Miller
  10 siblings, 0 replies; 12+ messages in thread
From: David Miller @ 2011-11-04  1:57 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Wed,  2 Nov 2011 17:19:51 -0700

> The following series contains fixes to e100, e1000e, igb, ixgbe and
> ixgbevf.  The bulk of the fixes are to ixgbe.  Here is a summary
> of the changes:
 ...
>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net.git

Pulled, thanks Jeff.

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2011-11-04  1:57 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-03  0:19 [net 00/10][pull request] Intel Wired LAN Driver Update Jeff Kirsher
2011-11-03  0:19 ` [net 01/10] e1000e: demote a debugging WARN to a debug log message Jeff Kirsher
2011-11-03  0:19 ` [net 02/10] e100: make sure vlan support isn't advertised on old adapters Jeff Kirsher
2011-11-03  0:19 ` [net 03/10] igb: Fix for I347AT4 PHY cable length unit detection Jeff Kirsher
2011-11-03  0:19 ` [net 04/10] ixgbe: Fix link issues caused by a reset while interface is down Jeff Kirsher
2011-11-03  0:19 ` [net 05/10] ixgbe: fix disabling of Tx laser at probe Jeff Kirsher
2011-11-03  0:19 ` [net 06/10] ixgbe: fix smatch splat due to missing NULL check Jeff Kirsher
2011-11-03  0:19 ` [net 07/10] ixgbe: Fix compiler warnings Jeff Kirsher
2011-11-03  0:19 ` [net 08/10] ixgbe: fix reading of the buffer returned by the firmware Jeff Kirsher
2011-11-03  0:20 ` [net 09/10] ixgbe: DCB, return max for IEEE traffic classes Jeff Kirsher
2011-11-03  0:20 ` [net 10/10] ixgbevf: Update release version Jeff Kirsher
2011-11-04  1:57 ` [net 00/10][pull request] Intel Wired LAN Driver Update David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).