Netdev List
 help / color / mirror / Atom feed
* [net-next 00/10][pull request] Intel Wired LAN Driver Update
From: Jeff Kirsher @ 2011-08-29  8:40 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo

The following series contains updates to ixgbe only.  Many are cleanup's
and fixes.

The following are changes since commit 7ac2ed0ceeafa130f85aa947b271b571c68b9e75:
  caif: Remove OOM messages, use kzalloc
and are available in the git repository at:
  master.kernel.org:/pub/scm/linux/kernel/git/jkirsher/net-next master

Alexander Duyck (2):
  ixgbe: Add support for setting CC bit when SR-IOV is enabled
  ixgbe: Always tag VLAN tagged packets

Don Skidmore (2):
  ixgbe: cleanup feature flags in ixgbe_probe
  ixgbe: fix ixgbe_fc_autoneg_fiber bug

Emil Tantilov (2):
  ixgbe: add check for supported modes
  ixgbe: clear RNBC only for 82598

John Fastabend (4):
  ixgbe: fixup remaining call sites for arbitrary TCs
  ixgbe: remove unneeded fdir pb alloc case
  ixgbe: consolidate, setup for multiple traffic classes
  ixgbe: PFC not cleared on X540 devices

 drivers/net/ethernet/intel/ixgbe/ixgbe.h           |    3 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c     |   87 --------------------
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c    |    9 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.c |    4 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c    |   46 +----------
 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c   |   10 ++-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c      |   53 +++++++++---
 drivers/net/ethernet/intel/ixgbe/ixgbe_type.h      |    1 +
 8 files changed, 63 insertions(+), 150 deletions(-)

-- 
1.7.6

^ permalink raw reply

* [net-next 01/10] ixgbe: Add support for setting CC bit when SR-IOV is enabled
From: Jeff Kirsher @ 2011-08-29  8:40 UTC (permalink / raw)
  To: davem; +Cc: Alexander Duyck, netdev, gospo, Jeff Kirsher
In-Reply-To: <1314607268-26958-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: Alexander Duyck <alexander.h.duyck@intel.com>

This change makes it so that the CC bit in the descriptor is set when
SR-IOV is enabled.  This is needed in order to support offloading
functionality when passing traffic over the internal TX switch.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe.h      |    3 ++-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |   15 ++++++++++++++-
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe.h b/drivers/net/ethernet/intel/ixgbe/ixgbe.h
index dc3b12e..58482fc 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe.h
@@ -97,7 +97,8 @@
 #define IXGBE_TX_FLAGS_IPV4		(u32)(1 << 4)
 #define IXGBE_TX_FLAGS_FCOE		(u32)(1 << 5)
 #define IXGBE_TX_FLAGS_FSO		(u32)(1 << 6)
-#define IXGBE_TX_FLAGS_MAPPED_AS_PAGE	(u32)(1 << 7)
+#define IXGBE_TX_FLAGS_TXSW		(u32)(1 << 7)
+#define IXGBE_TX_FLAGS_MAPPED_AS_PAGE	(u32)(1 << 8)
 #define IXGBE_TX_FLAGS_VLAN_MASK	0xffff0000
 #define IXGBE_TX_FLAGS_VLAN_PRIO_MASK	0xe0000000
 #define IXGBE_TX_FLAGS_VLAN_PRIO_SHIFT  29
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index bb54d3d..d587967 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -6295,7 +6295,8 @@ static bool ixgbe_tx_csum(struct ixgbe_ring *tx_ring,
 	u32 type_tucmd = 0;
 
 	if (skb->ip_summed != CHECKSUM_PARTIAL) {
-	    if (!(tx_flags & IXGBE_TX_FLAGS_HW_VLAN))
+	    if (!(tx_flags & IXGBE_TX_FLAGS_HW_VLAN) &&
+		!(tx_flags & IXGBE_TX_FLAGS_TXSW))
 			return false;
 	} else {
 		u8 l4_hdr = 0;
@@ -6398,6 +6399,13 @@ static __le32 ixgbe_tx_olinfo_status(u32 tx_flags, unsigned int paylen)
 					    (1 << IXGBE_ADVTXD_IDX_SHIFT));
 
 #endif
+	/*
+	 * Check Context must be set if Tx switch is enabled, which it
+	 * always is for case where virtual functions are running
+	 */
+	if (tx_flags & IXGBE_TX_FLAGS_TXSW)
+		olinfo_status |= cpu_to_le32(IXGBE_ADVTXD_CC);
+
 	return olinfo_status;
 }
 
@@ -6732,6 +6740,11 @@ netdev_tx_t ixgbe_xmit_frame_ring(struct sk_buff *skb,
 		return NETDEV_TX_BUSY;
 	}
 
+#ifdef CONFIG_PCI_IOV
+	if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)
+		tx_flags |= IXGBE_TX_FLAGS_TXSW;
+
+#endif
 	/* if we have a HW VLAN tag being added default to the HW one */
 	if (vlan_tx_tag_present(skb)) {
 		tx_flags |= vlan_tx_tag_get(skb) << IXGBE_TX_FLAGS_VLAN_SHIFT;
-- 
1.7.6

^ permalink raw reply related

* [net-next 02/10] ixgbe: Always tag VLAN tagged packets
From: Jeff Kirsher @ 2011-08-29  8:41 UTC (permalink / raw)
  To: davem; +Cc: Alexander Duyck, netdev, gospo, Jeff Kirsher
In-Reply-To: <1314607268-26958-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: Alexander Duyck <alexander.h.duyck@intel.com>

This change is meant to fix the patch:
	ixgbe: Cleanup FCOE and VLAN handling in xmit_frame_ring
And can be rolled into it if needed.

What this fixes is that VLAN tagged packets were not being tagged if they
were prio 7 which matches up with TC_PRIO_CONTROL.  In order to fix it I am
just setting things up so that we always tag VLAN tagged packets.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@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 |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index d587967..f095a3b 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -6762,7 +6762,8 @@ netdev_tx_t ixgbe_xmit_frame_ring(struct sk_buff *skb,
 	}
 
 	if ((adapter->flags & IXGBE_FLAG_DCB_ENABLED) &&
-	    skb->priority != TC_PRIO_CONTROL) {
+	    ((tx_flags & (IXGBE_TX_FLAGS_HW_VLAN | IXGBE_TX_FLAGS_SW_VLAN)) ||
+	     (skb->priority != TC_PRIO_CONTROL))) {
 		tx_flags &= ~IXGBE_TX_FLAGS_VLAN_PRIO_MASK;
 		tx_flags |= tx_ring->dcb_tc <<
 			    IXGBE_TX_FLAGS_VLAN_PRIO_SHIFT;
-- 
1.7.6

^ permalink raw reply related

* [net-next 03/10] ixgbe: fixup remaining call sites for arbitrary TCs
From: Jeff Kirsher @ 2011-08-29  8:41 UTC (permalink / raw)
  To: davem; +Cc: John Fastabend, netdev, gospo, Jeff Kirsher
In-Reply-To: <1314607268-26958-1-git-send-email-jeffrey.t.kirsher@intel.com>

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

One existing call sites still expect either 4 or 8 traffic
classes to be specified. This fixes this allowing arbitrary
values up to 8 to work as expected.

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 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index f095a3b..2b1bb60 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -4481,7 +4481,7 @@ static void ixgbe_get_first_reg_idx(struct ixgbe_adapter *adapter, u8 tc,
 		break;
 	case ixgbe_mac_82599EB:
 	case ixgbe_mac_X540:
-		if (num_tcs == 8) {
+		if (num_tcs > 4) {
 			if (tc < 3) {
 				*tx = tc << 5;
 				*rx = tc << 4;
@@ -4492,7 +4492,7 @@ static void ixgbe_get_first_reg_idx(struct ixgbe_adapter *adapter, u8 tc,
 				*tx = ((tc + 8) << 3);
 				*rx = tc << 4;
 			}
-		} else if (num_tcs == 4) {
+		} else {
 			*rx =  tc << 5;
 			switch (tc) {
 			case 0:
-- 
1.7.6

^ permalink raw reply related

* [net-next 05/10] ixgbe: consolidate, setup for multiple traffic classes
From: Jeff Kirsher @ 2011-08-29  8:41 UTC (permalink / raw)
  To: davem; +Cc: John Fastabend, netdev, gospo, Jeff Kirsher
In-Reply-To: <1314607268-26958-1-git-send-email-jeffrey.t.kirsher@intel.com>

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

This consolidates setup code for multiple traffic classes in
the setup_tc routine.

Prep work to allow IEEE DCBX to optimize for number of traffic
classes. Also simplifies code paths.

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 |   46 ++---------------------
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c   |   30 +++++++++++---
 2 files changed, 27 insertions(+), 49 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
index da6d53e..0422e35 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
@@ -118,49 +118,11 @@ static u8 ixgbe_dcbnl_set_state(struct net_device *netdev, u8 state)
 	if (!!state != !(adapter->flags & IXGBE_FLAG_DCB_ENABLED))
 		return err;
 
-	if (state > 0) {
-		/* Turn on DCB */
-		if (!(adapter->flags & IXGBE_FLAG_MSIX_ENABLED)) {
-			e_err(drv, "Enable failed, needs MSI-X\n");
-			err = 1;
-			goto out;
-		}
-
-		adapter->flags |= IXGBE_FLAG_DCB_ENABLED;
-
-		switch (adapter->hw.mac.type) {
-		case ixgbe_mac_82598EB:
-			adapter->last_lfc_mode = adapter->hw.fc.current_mode;
-			adapter->hw.fc.requested_mode = ixgbe_fc_none;
-			break;
-		case ixgbe_mac_82599EB:
-		case ixgbe_mac_X540:
-			adapter->flags &= ~IXGBE_FLAG_FDIR_HASH_CAPABLE;
-			break;
-		default:
-			break;
-		}
-
-		ixgbe_setup_tc(netdev, MAX_TRAFFIC_CLASS);
-	} else {
-		/* Turn off DCB */
-		adapter->hw.fc.requested_mode = adapter->last_lfc_mode;
-		adapter->temp_dcb_cfg.pfc_mode_enable = false;
-		adapter->dcb_cfg.pfc_mode_enable = false;
-		adapter->flags &= ~IXGBE_FLAG_DCB_ENABLED;
-		switch (adapter->hw.mac.type) {
-		case ixgbe_mac_82599EB:
-		case ixgbe_mac_X540:
-			if (!(adapter->flags & IXGBE_FLAG_FDIR_PERFECT_CAPABLE))
-				adapter->flags |= IXGBE_FLAG_FDIR_HASH_CAPABLE;
-			break;
-		default:
-			break;
-		}
-		ixgbe_setup_tc(netdev, 0);
-	}
+	if (state > 0)
+		err = ixgbe_setup_tc(netdev, MAX_TRAFFIC_CLASS);
+	else
+		err = ixgbe_setup_tc(netdev, 0);
 
-out:
 	return err;
 }
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 2b1bb60..3932cd0 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -7065,11 +7065,11 @@ int ixgbe_setup_tc(struct net_device *dev, u8 tc)
 	struct ixgbe_adapter *adapter = netdev_priv(dev);
 	struct ixgbe_hw *hw = &adapter->hw;
 
-	/* If DCB is anabled do not remove traffic classes, multiple
-	 * traffic classes are required to implement DCB
-	 */
-	if (!tc && (adapter->flags & IXGBE_FLAG_DCB_ENABLED))
-		return 0;
+	/* Multiple traffic classes requires multiple queues */
+	if (!(adapter->flags & IXGBE_FLAG_MSIX_ENABLED)) {
+		e_err(drv, "Enable failed, needs MSI-X\n");
+		return -EINVAL;
+	}
 
 	/* Hardware supports up to 8 traffic classes */
 	if (tc > MAX_TRAFFIC_CLASS ||
@@ -7084,11 +7084,27 @@ int ixgbe_setup_tc(struct net_device *dev, u8 tc)
 		ixgbe_close(dev);
 	ixgbe_clear_interrupt_scheme(adapter);
 
-	if (tc)
+	if (tc) {
 		netdev_set_num_tc(dev, tc);
-	else
+		adapter->last_lfc_mode = adapter->hw.fc.current_mode;
+
+		adapter->flags |= IXGBE_FLAG_DCB_ENABLED;
+		adapter->flags &= ~IXGBE_FLAG_FDIR_HASH_CAPABLE;
+
+		if (adapter->hw.mac.type == ixgbe_mac_82598EB)
+			adapter->hw.fc.requested_mode = ixgbe_fc_none;
+	} else {
 		netdev_reset_tc(dev);
 
+		adapter->hw.fc.requested_mode = adapter->last_lfc_mode;
+
+		adapter->flags &= ~IXGBE_FLAG_DCB_ENABLED;
+		adapter->flags |= IXGBE_FLAG_FDIR_HASH_CAPABLE;
+
+		adapter->temp_dcb_cfg.pfc_mode_enable = false;
+		adapter->dcb_cfg.pfc_mode_enable = false;
+	}
+
 	ixgbe_init_interrupt_scheme(adapter);
 	ixgbe_validate_rtr(adapter, tc);
 	if (netif_running(dev))
-- 
1.7.6

^ permalink raw reply related

* [net-next 06/10] ixgbe: PFC not cleared on X540 devices
From: Jeff Kirsher @ 2011-08-29  8:41 UTC (permalink / raw)
  To: davem; +Cc: John Fastabend, netdev, gospo, Jeff Kirsher
In-Reply-To: <1314607268-26958-1-git-send-email-jeffrey.t.kirsher@intel.com>

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

X540 devices do not clear PFC before sets. This results in
the device possibly responding to PFC frames that the user
has disabled. Although it would also be wrong for the peer
to be transmitting these frames. Now we clear the register
before set.

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_82599.c |    4 +++-
 drivers/net/ethernet/intel/ixgbe/ixgbe_type.h      |    1 +
 2 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.c
index ade9820..d64fb87 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.c
@@ -252,8 +252,10 @@ s32 ixgbe_dcb_config_pfc_82599(struct ixgbe_hw *hw, u8 pfc_en)
 		reg &= ~IXGBE_MFLCN_RFCE;
 		reg |= IXGBE_MFLCN_RPFCE | IXGBE_MFLCN_DPF;
 
-		if (hw->mac.type == ixgbe_mac_X540)
+		if (hw->mac.type == ixgbe_mac_X540) {
+			reg &= ~IXGBE_MFLCN_RPFCE_MASK;
 			reg |= pfc_en << IXGBE_MFLCN_RPFCE_SHIFT;
+		}
 
 		IXGBE_WRITE_REG(hw, IXGBE_MFLCN, reg);
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h
index e0d970e..9f618ee 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h
@@ -1834,6 +1834,7 @@ enum {
 #define IXGBE_MFLCN_DPF         0x00000002 /* Discard Pause Frame */
 #define IXGBE_MFLCN_RPFCE       0x00000004 /* Receive Priority FC Enable */
 #define IXGBE_MFLCN_RFCE        0x00000008 /* Receive FC Enable */
+#define IXGBE_MFLCN_RPFCE_MASK	0x00000FE0 /* Receive FC Mask */
 
 #define IXGBE_MFLCN_RPFCE_SHIFT		 4
 
-- 
1.7.6

^ permalink raw reply related

* [net-next 04/10] ixgbe: remove unneeded fdir pb alloc case
From: Jeff Kirsher @ 2011-08-29  8:41 UTC (permalink / raw)
  To: davem; +Cc: John Fastabend, netdev, gospo
In-Reply-To: <1314607268-26958-1-git-send-email-jeffrey.t.kirsher@intel.com>

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

The packet buffer is correctly allocated by generic pb allocation
path in ixgbe_configure() there is no need to do the allocation
here as well.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c |   87 ------------------------
 1 files changed, 0 insertions(+), 87 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
index 34f30ec..f193fc2 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
@@ -1108,79 +1108,6 @@ s32 ixgbe_reinit_fdir_tables_82599(struct ixgbe_hw *hw)
 }
 
 /**
- *  ixgbe_set_fdir_rxpba_82599 - Initialize Flow Director Rx packet buffer
- *  @hw: pointer to hardware structure
- *  @pballoc: which mode to allocate filters with
- **/
-static s32 ixgbe_set_fdir_rxpba_82599(struct ixgbe_hw *hw, const u32 pballoc)
-{
-	u32 fdir_pbsize = hw->mac.rx_pb_size << IXGBE_RXPBSIZE_SHIFT;
-	u32 current_rxpbsize = 0;
-	int i;
-
-	/* reserve space for Flow Director filters */
-	switch (pballoc) {
-	case IXGBE_FDIR_PBALLOC_256K:
-		fdir_pbsize -= 256 << IXGBE_RXPBSIZE_SHIFT;
-		break;
-	case IXGBE_FDIR_PBALLOC_128K:
-		fdir_pbsize -= 128 << IXGBE_RXPBSIZE_SHIFT;
-		break;
-	case IXGBE_FDIR_PBALLOC_64K:
-		fdir_pbsize -= 64 << IXGBE_RXPBSIZE_SHIFT;
-		break;
-	case IXGBE_FDIR_PBALLOC_NONE:
-	default:
-		return IXGBE_ERR_PARAM;
-	}
-
-	/* determine current RX packet buffer size */
-	for (i = 0; i < 8; i++)
-		current_rxpbsize += IXGBE_READ_REG(hw, IXGBE_RXPBSIZE(i));
-
-	/* if there is already room for the filters do nothing */
-	if (current_rxpbsize <= fdir_pbsize)
-		return 0;
-
-	if (current_rxpbsize > hw->mac.rx_pb_size) {
-		/*
-		 * if rxpbsize is greater than max then HW max the Rx buffer
-		 * sizes are unconfigured or misconfigured since HW default is
-		 * to give the full buffer to each traffic class resulting in
-		 * the total size being buffer size 8x actual size
-		 *
-		 * This assumes no DCB since the RXPBSIZE registers appear to
-		 * be unconfigured.
-		 */
-		IXGBE_WRITE_REG(hw, IXGBE_RXPBSIZE(0), fdir_pbsize);
-		for (i = 1; i < 8; i++)
-			IXGBE_WRITE_REG(hw, IXGBE_RXPBSIZE(i), 0);
-	} else {
-		/*
-		 * Since the Rx packet buffer appears to have already been
-		 * configured we need to shrink each packet buffer by enough
-		 * to make room for the filters.  As such we take each rxpbsize
-		 * value and multiply it by a fraction representing the size
-		 * needed over the size we currently have.
-		 *
-		 * We need to reduce fdir_pbsize and current_rxpbsize to
-		 * 1/1024 of their original values in order to avoid
-		 * overflowing the u32 being used to store rxpbsize.
-		 */
-		fdir_pbsize >>= IXGBE_RXPBSIZE_SHIFT;
-		current_rxpbsize >>= IXGBE_RXPBSIZE_SHIFT;
-		for (i = 0; i < 8; i++) {
-			u32 rxpbsize = IXGBE_READ_REG(hw, IXGBE_RXPBSIZE(i));
-			rxpbsize *= fdir_pbsize;
-			rxpbsize /= current_rxpbsize;
-			IXGBE_WRITE_REG(hw, IXGBE_RXPBSIZE(i), rxpbsize);
-		}
-	}
-
-	return 0;
-}
-
-/**
  *  ixgbe_fdir_enable_82599 - Initialize Flow Director control registers
  *  @hw: pointer to hardware structure
  *  @fdirctrl: value to write to flow director control register
@@ -1227,13 +1154,6 @@ static void ixgbe_fdir_enable_82599(struct ixgbe_hw *hw, u32 fdirctrl)
  **/
 s32 ixgbe_init_fdir_signature_82599(struct ixgbe_hw *hw, u32 fdirctrl)
 {
-	s32 err;
-
-	/* Before enabling Flow Director, verify the Rx Packet Buffer size */
-	err = ixgbe_set_fdir_rxpba_82599(hw, fdirctrl);
-	if (err)
-		return err;
-
 	/*
 	 * Continue setup of fdirctrl register bits:
 	 *  Move the flexible bytes to use the ethertype - shift 6 words
@@ -1258,13 +1178,6 @@ s32 ixgbe_init_fdir_signature_82599(struct ixgbe_hw *hw, u32 fdirctrl)
  **/
 s32 ixgbe_init_fdir_perfect_82599(struct ixgbe_hw *hw, u32 fdirctrl)
 {
-	s32 err;
-
-	/* Before enabling Flow Director, verify the Rx Packet Buffer size */
-	err = ixgbe_set_fdir_rxpba_82599(hw, fdirctrl);
-	if (err)
-		return err;
-
 	/*
 	 * Continue setup of fdirctrl register bits:
 	 *  Turn perfect match filtering on
-- 
1.7.6

^ permalink raw reply related

* [net-next 07/10] ixgbe: cleanup feature flags in ixgbe_probe
From: Jeff Kirsher @ 2011-08-29  8:41 UTC (permalink / raw)
  To: davem; +Cc: Don Skidmore, netdev, gospo, Jeff Kirsher
In-Reply-To: <1314607268-26958-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: Don Skidmore <donald.c.skidmore@intel.com>

I'm removing NETIF_F_GRO from being initialed in the feature flags during
ixgbe_probe() bases on a comment from Michal Miroslaw
<mirq-linux@rere.qmqm.pl> that it is always set by network code now.

Signed-off-by: Don Skidmore <donald.c.skidmore@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 3932cd0..a30f826 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -7510,7 +7510,6 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
 			   NETIF_F_HW_VLAN_FILTER |
 			   NETIF_F_TSO |
 			   NETIF_F_TSO6 |
-			   NETIF_F_GRO |
 			   NETIF_F_RXHASH |
 			   NETIF_F_RXCSUM;
 
-- 
1.7.6

^ permalink raw reply related

* [net-next 08/10] ixgbe: fix ixgbe_fc_autoneg_fiber bug
From: Jeff Kirsher @ 2011-08-29  8:41 UTC (permalink / raw)
  To: davem; +Cc: Don Skidmore, netdev, gospo, Jeff Kirsher
In-Reply-To: <1314607268-26958-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: Don Skidmore <donald.c.skidmore@intel.com>

A logic error in ixgbe_fc_autoneg_fiber() that treated a masked u32 as a
boolean would make it so we would never fall hit a error check case.  So
now I force the u32 to a boolean value with '!!'.

Signed-off-by: Don Skidmore <donald.c.skidmore@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 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
index fc1375f..90a04e2 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
@@ -2121,8 +2121,8 @@ static s32 ixgbe_fc_autoneg_fiber(struct ixgbe_hw *hw)
 	 */
 
 	linkstat = IXGBE_READ_REG(hw, IXGBE_PCS1GLSTA);
-	if (((linkstat & IXGBE_PCS1GLSTA_AN_COMPLETE) == 0) ||
-	    ((linkstat & IXGBE_PCS1GLSTA_AN_TIMED_OUT) == 1)) {
+	if ((!!(linkstat & IXGBE_PCS1GLSTA_AN_COMPLETE) == 0) ||
+	    (!!(linkstat & IXGBE_PCS1GLSTA_AN_TIMED_OUT) == 1)) {
 		ret_val = IXGBE_ERR_FC_NOT_NEGOTIATED;
 		goto out;
 	}
-- 
1.7.6

^ permalink raw reply related

* [net-next 09/10] ixgbe: add check for supported modes
From: Jeff Kirsher @ 2011-08-29  8:41 UTC (permalink / raw)
  To: davem; +Cc: Emil Tantilov, netdev, gospo, Jeff Kirsher
In-Reply-To: <1314607268-26958-1-git-send-email-jeffrey.t.kirsher@intel.com>

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

When setting advertised speed/duplex with ethtool.

Also cleaned up the comment since we also support 100/F.

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_ethtool.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
index 82d4244..9c12b35 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
@@ -324,12 +324,16 @@ static int ixgbe_set_settings(struct net_device *netdev,
 
 	if ((hw->phy.media_type == ixgbe_media_type_copper) ||
 	    (hw->phy.multispeed_fiber)) {
-		/* 10000/copper and 1000/copper must autoneg
-		 * this function does not support any duplex forcing, but can
-		 * limit the advertising of the adapter to only 10000 or 1000 */
+		/*
+		 * this function does not support duplex forcing, but can
+		 * limit the advertising of the adapter to the specified speed
+		 */
 		if (ecmd->autoneg == AUTONEG_DISABLE)
 			return -EINVAL;
 
+		if (ecmd->advertising & ~ecmd->supported)
+			return -EINVAL;
+
 		old = hw->phy.autoneg_advertised;
 		advertised = 0;
 		if (ecmd->advertising & ADVERTISED_10000baseT_Full)
-- 
1.7.6

^ permalink raw reply related

* [net-next 10/10] ixgbe: clear RNBC only for 82598
From: Jeff Kirsher @ 2011-08-29  8:41 UTC (permalink / raw)
  To: davem; +Cc: Emil Tantilov, netdev, gospo, Jeff Kirsher
In-Reply-To: <1314607268-26958-1-git-send-email-jeffrey.t.kirsher@intel.com>

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

RNBC (0x03FC0) is only for 82598 and has different meaning
on newer HW. Make sure to only clear it for 82598.

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 |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
index 90a04e2..91986af 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
@@ -225,8 +225,9 @@ s32 ixgbe_clear_hw_cntrs_generic(struct ixgbe_hw *hw)
 	IXGBE_READ_REG(hw, IXGBE_GORCH);
 	IXGBE_READ_REG(hw, IXGBE_GOTCL);
 	IXGBE_READ_REG(hw, IXGBE_GOTCH);
-	for (i = 0; i < 8; i++)
-		IXGBE_READ_REG(hw, IXGBE_RNBC(i));
+	if (hw->mac.type == ixgbe_mac_82598EB)
+		for (i = 0; i < 8; i++)
+			IXGBE_READ_REG(hw, IXGBE_RNBC(i));
 	IXGBE_READ_REG(hw, IXGBE_RUC);
 	IXGBE_READ_REG(hw, IXGBE_RFC);
 	IXGBE_READ_REG(hw, IXGBE_ROC);
-- 
1.7.6

^ permalink raw reply related

* Personal / Treat As Urgent
From: francis @ 2011-08-29 10:20 UTC (permalink / raw)


Dear Friend,

I know that this message will come to you as a surprise. I am the Auditing and Accounting section manager with African Development Bank, Ouagadougou Burkina faso. I Hope that you will not expose or betray this trust and confident that I am about to repose on you for the mutual benefit of our both families.

I need your urgent assistance in transferring the sum of($39.5)million to your account within 10 or 14 banking days. This money has been dormant for years in our Bank without claim.I want the bank to release the money to you as the nearest person to our deceased customer late George small. who died along with his supposed next of kin in an air crash since 31st October 1999.

I don't want the money to go into government treasury as an abandoned fund. So this is the reason why I am contacting you so that the bank can release the money to you as the next of kin to the deceased customer. Please I would like you to keep this proposal as atop secret and delete it if you are not interested.

Upon receipt of your reply, I will give you full details on how the business will be executed and also note that you will have 40% of the above mentioned sum if you agree to handle this business with me.

I am expecting your urgent response as soon as you receive my message.

Best Regard,

Mr Francis Kabore

^ permalink raw reply

* RE
From: Pepsi Bottling Company Plc @ 2011-08-29 11:04 UTC (permalink / raw)




You won £120,000

^ permalink raw reply

* Re: [PATCH 3/9] stmmac: add MMC supports exported via debugfs.
From: Giuseppe CAVALLARO @ 2011-08-29 12:00 UTC (permalink / raw)
  To: David Miller; +Cc: netdev
In-Reply-To: <20110826.121222.1125604441814245954.davem@davemloft.net>

On 8/26/2011 6:12 PM, David Miller wrote:
> From: Giuseppe CAVALLARO <peppe.cavallaro@st.com>
> Date: Thu, 25 Aug 2011 10:00:23 +0200
> 
>> This patch adds the MMC management counters support.
>> MMC module is an extension of the register address
>> space and all the hardware counters can be accessed
>> via debugfs.
>> Below an example of the output:
> 
> This is not the appropriate way to expose internal chip counters.
> 
> Please use ethtool statistics for this.

Yes I'll do that and resend all the patches again.

Thanks for the review.
Peppe

> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply

* REPLY VERY URGENTLY.
From: francis @ 2011-08-29 12:09 UTC (permalink / raw)



Dear Friend,

I know that this message will come to you as a surprise. I am the Auditing and Accounting section manager with African Development Bank, Ouagadougou Burkina faso. I Hope that you will not expose or betray this trust and confident that I am about to repose on you for the mutual benefit of our both families.

I need your urgent assistance in transferring the sum of($39.5)million to your account within 10 or 14 banking days. This money has been dormant for years in our Bank without claim.I want the bank to release the money to you as the nearest person to our deceased customer late George small. who died along with his supposed next of kin in an air crash since 31st October 1999.

I don't want the money to go into government treasury as an abandoned fund. So this is the reason why I am contacting you so that the bank can release the money to you as the next of kin to the deceased customer. Please I would like you to keep this proposal as atop secret and delete it if you are not interested.

Upon receipt of your reply, I will give you full details on how the business will be executed and also note that you will have 40% of the above mentioned sum if you agree to handle this business with me.

I am expecting your urgent response as soon as you receive my message.

Best Regard,

Mr Francis Kabore

^ permalink raw reply

* [PATCH] ipv6: Send ICMPv6 RSes only when RAs are accepted
From: Tore Anderson @ 2011-08-29 12:08 UTC (permalink / raw)
  To: netdev

This patch improves the logic determining when to send ICMPv6 Router
Solicitations, so that they are 1) always sent when the kernel is
accepting Router Advertisements, and 2) never sent when the kernel is
not accepting RAs. In other words, the operational setting of the
"accept_ra" sysctl is used.

The change also makes "Hybrid Router" forwarding mode ("forwarding"
sysctl set to 2) redundant, as the only thing that distinguished it from
the standard Router mode (forwarding=1) was that RSes was being sent. It
has therefore been removed.

Rationale for the change:

Currently, the value of forwarding sysctl is the only thing determining
whether or not to send RSes. If it has the value 0 or 2, they are sent,
otherwise they are not. This leads to inconsistent behaviour in the
following cases:

* accept_ra=0, forwarding=0
* accept_ra=0, forwarding=2
* accept_ra=1, forwarding=2
* accept_ra=2, forwarding=1

In the first three cases, the kernel will send RSes, even though it will
not accept any RAs received in reply. In the last case, it will not send
any RSes, even though it will accept and process any RAs received. (Most
routers will send unsolicited RAs periodically, so suppressing RSes in
the last case will merely delay auto-configuration, not prevent it.)

Also, it is my opinion that having the forwarding sysctl control RS
sending behaviour (completely independent of whether RAs are being
accepted or not) is simply not what most users would intuitively expect
to be the case.

Signed-off-by: Tore Anderson <tore@fud.no>
---
 Documentation/networking/ip-sysctl.txt |   17 ++++++++---------
 net/ipv6/addrconf.c                    |    8 ++++----
 2 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt
index 8154699..98c8d42 100644
--- a/Documentation/networking/ip-sysctl.txt
+++ b/Documentation/networking/ip-sysctl.txt
@@ -1045,6 +1045,11 @@ conf/interface/*:
 accept_ra - BOOLEAN
 	Accept Router Advertisements; autoconfigure using them.
 
+	It also determines whether or not to transmit Router
+	Solicitations. If and only if the functional setting is to
+	accept Router Advertisements, Router Solicitations will be
+	transmitted.
+
 	Possible values are:
 		0 Do not accept Router Advertisements.
 		1 Accept Router Advertisements if forwarding is disabled.
@@ -1115,14 +1120,14 @@ forwarding - BOOLEAN
 	Possible values are:
 		0 Forwarding disabled
 		1 Forwarding enabled
-		2 Forwarding enabled (Hybrid Mode)
 
 	FALSE (0):
 
 	By default, Host behaviour is assumed.  This means:
 
 	1. IsRouter flag is not set in Neighbour Advertisements.
-	2. Router Solicitations are being sent when necessary.
+	2. If accept_ra is TRUE (default), transmit Router
+	   Solicitations.
 	3. If accept_ra is TRUE (default), accept Router
 	   Advertisements (and do autoconfiguration).
 	4. If accept_redirects is TRUE (default), accept Redirects.
@@ -1133,16 +1138,10 @@ forwarding - BOOLEAN
 	This means exactly the reverse from the above:
 
 	1. IsRouter flag is set in Neighbour Advertisements.
-	2. Router Solicitations are not sent.
+	2. Router Solicitations are not sent unless accept_ra is 2.
 	3. Router Advertisements are ignored unless accept_ra is 2.
 	4. Redirects are ignored.
 
-	TRUE (2):
-
-	Hybrid mode. Same behaviour as TRUE, except for:
-
-	2. Router Solicitations are being sent when necessary.
-
 	Default: 0 (disabled) if global forwarding is disabled (default),
 		 otherwise 1 (enabled).
 
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index f012ebd..d3e51cb 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -2969,12 +2969,12 @@ static void addrconf_dad_completed(struct inet6_ifaddr *ifp)
 
 	ipv6_ifa_notify(RTM_NEWADDR, ifp);
 
-	/* If added prefix is link local and forwarding is off,
-	   start sending router solicitations.
+	/* If added prefix is link local and we are prepared to process
+	   router advertisements, start sending router solicitations.
 	 */
 
-	if ((ifp->idev->cnf.forwarding == 0 ||
-	     ifp->idev->cnf.forwarding == 2) &&
+	if (((ifp->idev->cnf.accept_ra == 1 && !ifp->idev->cnf.forwarding) ||
+	     ifp->idev->cnf.accept_ra == 2) &&
 	    ifp->idev->cnf.rtr_solicits > 0 &&
 	    (dev->flags&IFF_LOOPBACK) == 0 &&
 	    (ipv6_addr_type(&ifp->addr) & IPV6_ADDR_LINKLOCAL)) {
-- 
1.7.6

^ permalink raw reply related

* Re: [PATCH 1/2] iwlegacy: change IWL_WARN to IWL_DEBUG_HT in iwl4965_tx_agg_start
From: Stanislaw Gruszka @ 2011-08-29 12:20 UTC (permalink / raw)
  To: Greg Dietsche, linville-2XuSBdqkA4R54TAoqtyWWQ
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1314537977-20097-1-git-send-email-Gregory.Dietsche-5+R7UueiBCQ@public.gmane.org>

On Sun, Aug 28, 2011 at 08:26:16AM -0500, Greg Dietsche wrote:
> This message should be a debug message and not a warning. So
> change it from IWL_WARN to IWL_DEBUG_HT.

I'm currently doing massive iwlegacy driver cleanup. Would be easier
for me to apply these patches on top of my changes instead of rebase
my patches. I will queue these two patches and post them together with
my pending patches.

Thanks
Stanislaw  
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: [PATCH 1/2] iwlegacy: change IWL_WARN to IWL_DEBUG_HT in iwl4965_tx_agg_start
From: Greg Dietsche @ 2011-08-29 13:33 UTC (permalink / raw)
  To: Stanislaw Gruszka; +Cc: linville, linux-wireless, netdev, linux-kernel
In-Reply-To: <20110829122013.GA3597@redhat.com>

Hi Stanislaw,

On 08/29/2011 07:20 AM, Stanislaw Gruszka wrote:
> On Sun, Aug 28, 2011 at 08:26:16AM -0500, Greg Dietsche wrote:
>    
>> This message should be a debug message and not a warning. So
>> change it from IWL_WARN to IWL_DEBUG_HT.
>>      
> I'm currently doing massive iwlegacy driver cleanup. Would be easier
> for me to apply these patches on top of my changes instead of rebase
> my patches. I will queue these two patches and post them together with
> my pending patches.
>
>    
That sounds good to me. I have the 4065 card in my laptop and want to 
learn how it works. If you want someone to test your changes, I'm willing.

I have six other patches that are trivial in nature for the iwlegacy 
driver. One of those also applies to the iwlagn driver, so seven patches 
in total. They remove some null checks that aren't necessary and also 
cleanup a few unused variables. There are two patches in the set that 
I'm not 100% sure about. They remove null checks and I haven't been able 
to prove to myself that they are correct. However, if they aren't 
correct, then there are some null checks in other places that need to be 
added....

Anyway, I can hold off on these until you've done your cleanup and see 
what still applies, or if you have a tree someplace, I'd be happy to 
rebase them for you. I've been running them on my laptop for a few days 
now with no problems.

Thanks,
Greg

^ permalink raw reply

* ATTENTION, CEO
From: kenneth preston @ 2011-08-29 13:15 UTC (permalink / raw)


 Dear  Friend,

I am Sgt. Kenneth O. Preston, the 13th Sergeant Major for Combined
Joint Task Force 7 serving in Baghdad, Iraq. (USF-I) I am on
assignment here in Iraq and have some items I will need to ship to you
for safe keep.
Please you could check this site so you could understand what I am
trying to say. ( http://news.bbc.co.uk/2/hi/middle_east/2988455.stm )

Contact me immediately if you can assist, as I will only highlight
more on this transaction if you meet my conditions.

Please signify your interest by replying to my  email, (
[kennethpreston9965@gmail.com)

Thanks.

Sgt. Kenneth O. Preston.

^ permalink raw reply

* Re: [PATCH 1/2] iwlegacy: change IWL_WARN to IWL_DEBUG_HT in iwl4965_tx_agg_start
From: Stanislaw Gruszka @ 2011-08-29 14:00 UTC (permalink / raw)
  To: Greg Dietsche
  Cc: linville-2XuSBdqkA4R54TAoqtyWWQ,
	linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <4E5B9533.6000109-5+R7UueiBCQ@public.gmane.org>

Hi Greg

On Mon, Aug 29, 2011 at 08:33:39AM -0500, Greg Dietsche wrote:
> On 08/29/2011 07:20 AM, Stanislaw Gruszka wrote:
> >On Sun, Aug 28, 2011 at 08:26:16AM -0500, Greg Dietsche wrote:
> >>This message should be a debug message and not a warning. So
> >>change it from IWL_WARN to IWL_DEBUG_HT.
> >I'm currently doing massive iwlegacy driver cleanup. Would be easier
> >for me to apply these patches on top of my changes instead of rebase
> >my patches. I will queue these two patches and post them together with
> >my pending patches.
> >
> That sounds good to me. I have the 4065 card in my laptop and want
> to learn how it works. If you want someone to test your changes, I'm
> willing.
> 
> I have six other patches that are trivial in nature for the iwlegacy
> driver. One of those also applies to the iwlagn driver, so seven
> patches in total. They remove some null checks that aren't necessary
> and also cleanup a few unused variables. There are two patches in
> the set that I'm not 100% sure about. They remove null checks and I
> haven't been able to prove to myself that they are correct. However,
> if they aren't correct, then there are some null checks in other
> places that need to be added....
> 
> Anyway, I can hold off on these until you've done your cleanup and
> see what still applies,

That would be great.

> or if you have a tree someplace, I'd be
> happy to rebase them for you.

I do not have publicly available tree. I'll probably try to get
one on git.kernel.org. I will let you know.

Thanks,
Stanislaw
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: [net-next 00/10][pull request] Intel Wired LAN Driver Update
From: David Miller @ 2011-08-29 16:26 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo
In-Reply-To: <1314607268-26958-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Mon, 29 Aug 2011 01:40:58 -0700

> The following series contains updates to ixgbe only.  Many are cleanup's
> and fixes.
> 
> The following are changes since commit 7ac2ed0ceeafa130f85aa947b271b571c68b9e75:
>   caif: Remove OOM messages, use kzalloc
> and are available in the git repository at:
>   master.kernel.org:/pub/scm/linux/kernel/git/jkirsher/net-next master

Pulled, thanks Jeff.

^ permalink raw reply

* [GIT] Networking
From: David Miller @ 2011-08-29 17:33 UTC (permalink / raw)
  To: torvalds; +Cc: akpm, netdev, linux-kernel


The flurry of bluetooth patches are a series of changes which are all
essentially the same bug fix (missing wakeups) in different areas of
the bluetooth code.

Besides that we have:

1) sendmmsg() fix doesn't use uaccess for user pointer accesses,
   whoops, fix from Mathieu Desnoyers.

2) Fix races between wiphy unregistry and suspend/resume resulting in
   OOPS, from Stanislaw Gruszka.

3) Fix USB refcounting in rt2x00 during suspend, also from Stanislaw
   Gruszka.

4) Missing mutex grab in carl9170_op_set_key(), from Alexey Khoroshilov.

5) Multicast source address selection for listener report is wrong, fix
   from Zheng Yan.

6) In bridge multicasting support, ipv6 checksum validation was using
   potentially old header pointers and was not taking the psuedo-header
   into account in the calculations.  This was causing MLD packets to
   get dropped by the bridge.  Also from Zheng Yan.

7) Fix use after free in icmp6 header parsing, again in bridge multicasting
   support, from Eric Dumazet.

8) Fix RCU lockdep splat in arp_process(), also from Eric Dumazet.

9) ibmveth can leak when getting certain hypervisor errors during SKB
   recycling.  Fix from Anton Blanchard.

10) DP83865 PHY interrupt handler doesn't clear interrupts properly, fix
    from Giuseppe CAVALLARO.

11) Fix compile erro in sh_eth due to missing header, from Yoshihiro Shimoda.

12) Fix uninitialized variables and spinlocks in CAN ti_hecc driver,
    from Abhilash K V.

13) Fix missing index initialization before register access in cassini
    driver, from Francois Romieu.

14) Fix potentially stale skb->data pointer accesses in __netpoll_rx(),
    from Eric Dumazet.

Please pull, thanks a lot!

The following changes since commit c6a389f123b9f68d605bb7e0f9b32ec1e3e14132:

  Linux 3.1-rc4 (2011-08-28 21:16:01 -0700)

are available in the git repository at:
  master.kernel.org:/pub/scm/linux/kernel/git/davem/net.git master

Abhilash K V (2):
      can: ti_hecc: Fix unintialized variable
      can: ti_hecc: Fix uninitialized spinlock in probe

Alexey Khoroshilov (1):
      carl9170: Fix mismatch in carl9170_op_set_key mutex lock-unlock

Anton Blanchard (1):
      ibmveth: Fix leak when recycling skb and hypervisor returns error

Chen Ganir (1):
      Bluetooth: Fixed wrong L2CAP Sock timer value

Dan Carpenter (1):
      Bluetooth: unlock if allocation fails in hci_blacklist_add()

David Woodhouse (1):
      bcma: add uevent to the bus, to autoload drivers

Eric Dumazet (3):
      bridge: fix a possible use after free
      arp: fix rcu lockdep splat in arp_process()
      netpoll: fix incorrect access to skb data in __netpoll_rx

Giuseppe CAVALLARO (1):
      net/phy: fix DP83865 phy interrupt handler

Ido Yariv (2):
      wl12xx: Remove obsolete testmode NVS push command
      wl12xx: Fix validation of pm_runtime_get_sync return value

John W. Linville (2):
      Merge branch 'master' of master.kernel.org:/.../padovan/bluetooth
      Merge branch 'master' of git://git.kernel.org/.../linville/wireless into for-davem

Luciano Coelho (1):
      wl12xx: add max_sched_scan_ssids value to the hw description

Mathieu Desnoyers (1):
      sendmmsg/sendmsg: fix unsafe user pointer access

Mohammed Shafi Shajakhan (1):
      ath9k: Fix PS wrappers in ath9k_set_coverage_class

Nicolas de Pesloüan (1):
      MAINTAINERS: Update GIT trees for network development

Paul Bolle (1):
      Bluetooth: btusb: be quiet on device disconnect

Peter Hurley (15):
      Bluetooth: rfcomm: Remove unnecessary krfcommd event
      Bluetooth: rfcomm: Fix lost wakeups waiting to accept socket
      Bluetooth: Fix lost wakeups waiting for sock state change
      Bluetooth: l2cap: Fix lost wakeups waiting to accept socket
      Bluetooth: sco: Fix lost wakeups waiting to accept socket
      Bluetooth: bnep: Fix lost wakeup of session thread
      Bluetooth: cmtp: Fix lost wakeup of session thread
      Bluetooth: l2cap: Fix lost wakeup waiting for ERTM acks
      Bluetooth: bnep: Fix deadlock in session deletion
      Bluetooth: cmtp: Fix deadlock in session deletion
      Bluetooth: hidp: Fix session cleanup on failed conn add
      Bluetooth: hidp: Fix memory leak of cached report descriptor
      Bluetooth: hidp: Only free input device if failed register
      Bluetooth: hidp: Don't release device ref if never held
      Bluetooth: cmtp: Fix session cleanup on failed conn add

Ricardo Mendoza (1):
      Bluetooth: Add Toshiba laptops AR30XX device ID

Senthil Balasubramanian (1):
      ath9k_hw: Fix STA (AR9485) bringup issue due to incorrect MAC address

Stanislaw Gruszka (2):
      mac80211: fix suspend/resume races with unregister hw
      rt2x00: do not drop usb dev reference counter on suspend

Szymon Janc (1):
      Bluetooth: Don't use cmd_timer to timeout HCI reset command

Yan, Zheng (2):
      mcast: Fix source address selection for multicast listener report
      bridge: Pseudo-header required for the checksum of ICMPv6

Yoshihiro Shimoda (1):
      net: sh_eth: fix the compile error

françois romieu (1):
      cassini: init before use in cas_interruptN.

 MAINTAINERS                                    |    4 +-
 drivers/bcma/main.c                            |   12 ++++++
 drivers/bluetooth/ath3k.c                      |    1 +
 drivers/bluetooth/btusb.c                      |   13 +++++--
 drivers/net/can/ti_hecc.c                      |    3 +-
 drivers/net/cassini.c                          |    3 +-
 drivers/net/ibmveth.c                          |   12 +++++--
 drivers/net/phy/national.c                     |   17 ++++++---
 drivers/net/sh_eth.c                           |    1 +
 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c |    2 +-
 drivers/net/wireless/ath/ath9k/main.c          |    4 ++
 drivers/net/wireless/ath/carl9170/main.c       |    4 ++-
 drivers/net/wireless/rt2x00/rt2x00usb.c        |   14 +-------
 drivers/net/wireless/wl12xx/main.c             |    1 +
 drivers/net/wireless/wl12xx/sdio.c             |    2 +-
 drivers/net/wireless/wl12xx/testmode.c         |   45 ------------------------
 include/net/cfg80211.h                         |    3 ++
 net/bluetooth/af_bluetooth.c                   |    6 ++--
 net/bluetooth/bnep/bnep.h                      |    1 +
 net/bluetooth/bnep/core.c                      |   13 ++++---
 net/bluetooth/cmtp/capi.c                      |    3 +-
 net/bluetooth/cmtp/cmtp.h                      |    1 +
 net/bluetooth/cmtp/core.c                      |   20 ++++++----
 net/bluetooth/hci_core.c                       |    8 +++--
 net/bluetooth/hidp/core.c                      |   19 +++++-----
 net/bluetooth/l2cap_core.c                     |    6 ++--
 net/bluetooth/l2cap_sock.c                     |   30 ++++++++--------
 net/bluetooth/rfcomm/core.c                    |   17 ++++-----
 net/bluetooth/rfcomm/sock.c                    |   28 +++++++-------
 net/bluetooth/sco.c                            |   28 +++++++-------
 net/bridge/br_multicast.c                      |   21 +++++++----
 net/core/neighbour.c                           |    8 +++-
 net/core/netpoll.c                             |    4 ++-
 net/ipv4/igmp.c                                |    2 +-
 net/ipv6/mcast.c                               |    2 +-
 net/mac80211/main.c                            |    2 +-
 net/socket.c                                   |   10 +++--
 net/wireless/core.c                            |    7 ++++
 net/wireless/sysfs.c                           |    6 ++-
 39 files changed, 200 insertions(+), 183 deletions(-)

^ permalink raw reply

* Re: [PATCH 2/2] ath: Make ath_printk void not int and remove unused struct ath_common *
From: John W. Linville @ 2011-08-29 18:12 UTC (permalink / raw)
  To: Joe Perches; +Cc: Luis R. Rodriguez, linux-wireless, netdev, linux-kernel
In-Reply-To: <78869fcd8172cd02266b66a71aadbd0c0efbdebc.1314347556.git.joe@perches.com>

On Fri, Aug 26, 2011 at 01:56:39AM -0700, Joe Perches wrote:
> Changing the return type and removing the unused argument from
> ath_printk reduces code size.
> 
> Add an __always_unused struct ath_common * to the macros
> that call ath_printk to avoid unused variable warnings.
> 
> $ size drivers/net/wireless/ath/built-in.o*
>    text	   data	    bss	    dec	    hex	filename
> 1159859	  16235	 212000	1388094	 152e3e	drivers/net/wireless/ath/built-in.o.new
> 1164175	  16235	 212032	1392442	 153f3a	drivers/net/wireless/ath/built-in.o.old
> 
> Signed-off-by: Joe Perches <joe@perches.com>
> ---
>  drivers/net/wireless/ath/ath.h  |   27 ++++++++++++++++-----------
>  drivers/net/wireless/ath/main.c |    8 ++------
>  2 files changed, 18 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h
> index a3f8505..9891fb6 100644
> --- a/drivers/net/wireless/ath/ath.h
> +++ b/drivers/net/wireless/ath/ath.h
> @@ -178,24 +178,29 @@ bool ath_hw_keyreset(struct ath_common *common, u16 entry);
>  void ath_hw_cycle_counters_update(struct ath_common *common);
>  int32_t ath_hw_get_listen_time(struct ath_common *common);
>  
> -extern __attribute__((format (printf, 3, 4)))
> -int ath_printk(const char *level, struct ath_common *common,
> -	       const char *fmt, ...);
> +extern __attribute__((format (printf, 2, 3)))
> +void ath_printk(const char *level, const char *fmt, ...);
> +
> +#define _ath_printk(level, common, fmt, ...)			\
> +do {								\
> +	__always_unused struct ath_common *unused = common;	\
> +	ath_printk(level, fmt, ##__VA_ARGS__);			\
> +} while (0)
>  
>  #define ath_emerg(common, fmt, ...)				\
> -	ath_printk(KERN_EMERG, common, fmt, ##__VA_ARGS__)
> +	_ath_printk(KERN_EMERG, common, fmt, ##__VA_ARGS__)
>  #define ath_alert(common, fmt, ...)				\
> -	ath_printk(KERN_ALERT, common, fmt, ##__VA_ARGS__)
> +	_ath_printk(KERN_ALERT, common, fmt, ##__VA_ARGS__)
>  #define ath_crit(common, fmt, ...)				\
> -	ath_printk(KERN_CRIT, common, fmt, ##__VA_ARGS__)
> +	_ath_printk(KERN_CRIT, common, fmt, ##__VA_ARGS__)
>  #define ath_err(common, fmt, ...)				\
> -	ath_printk(KERN_ERR, common, fmt, ##__VA_ARGS__)
> +	_ath_printk(KERN_ERR, common, fmt, ##__VA_ARGS__)
>  #define ath_warn(common, fmt, ...)				\
> -	ath_printk(KERN_WARNING, common, fmt, ##__VA_ARGS__)
> +	_ath_printk(KERN_WARNING, common, fmt, ##__VA_ARGS__)
>  #define ath_notice(common, fmt, ...)				\
> -	ath_printk(KERN_NOTICE, common, fmt, ##__VA_ARGS__)
> +	_ath_printk(KERN_NOTICE, common, fmt, ##__VA_ARGS__)
>  #define ath_info(common, fmt, ...)				\
> -	ath_printk(KERN_INFO, common, fmt, ##__VA_ARGS__)
> +	_ath_printk(KERN_INFO, common, fmt, ##__VA_ARGS__)
>  
>  /**
>   * enum ath_debug_level - atheros wireless debug level

Any reason to preserve all these "common" args?

-- 
John W. Linville		Someday the world will need a hero, and you
linville@tuxdriver.com			might be all we have.  Be ready.

^ permalink raw reply

* Re: Unicast hash for IXGBEVF driver
From: Rose, Gregory V @ 2011-08-29 18:24 UTC (permalink / raw)
  To: Kirsher, Jeffrey T, J.Hwan Kim; +Cc: e1000-devel@lists.sourceforge.net, netdev
In-Reply-To: <CAL3LdT6UBxEgjEX0MMCRmnXw2243nq5GyvYtQ9JOdGRtnsHS6g@mail.gmail.com>

The ROPE bits should not be set for any of the VFs and only on the PF when it is in promiscuous mode.

The PFUTA bits are imperfect MAC address hash filters.  By setting them all to ones and then turning on the ROPE bit for each of the VFs you're essentially putting the VF into a sort of fake promiscuous mode.

This is not recommended.  Older drivers that did this had a bug in them.

- Greg

> -----Original Message-----
> From: tarbal@gmail.com [mailto:tarbal@gmail.com] On Behalf Of Jeff Kirsher
> Sent: Saturday, August 27, 2011 12:35 AM
> To: J.Hwan Kim; Rose, Gregory V
> Cc: netdev; e1000-devel@lists.sourceforge.net
> Subject: Re: Unicast hash for IXGBEVF driver
> 
> On Sat, Aug 27, 2011 at 00:23, J.Hwan Kim <frog1120@gmail.com> wrote:
> > Hi, everyone
> >
> > How can I distribute the packets according to destination MAC address
> > into multi-virtual fucntion queue?
> > Now, my setting is that all bit of PFUTA are '1' and ROPE bit is 1,
> > so all mac packet is duplicated to all VF queue.
> > I cannot understand the meaning of bits of PFUTA and the relation
> > with mac address.
> > I want to distribute the received packets to RX queues respectively,
> > not duplicated.
> >
> >
> > Thanks in advance.
> >
> > Best Regards,
> > J.Hwan Kim
> >
> 
> Adding Greg Rose, since he is the ixgbevf driver maintainer.  He
> should be able to answer your questions early next week, unless he is
> checking his email over the weekend.
> 
> --
> Cheers,
> Jeff
------------------------------------------------------------------------------
Special Offer -- Download ArcSight Logger for FREE!
Finally, a world-class log management solution at an even better 
price-free! And you'll get a free "Love Thy Logs" t-shirt when you
download Logger. Secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsight-sdnews
_______________________________________________
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

^ permalink raw reply

* Re: [PATCH 2/2] ath: Make ath_printk void not int and remove unused struct ath_common *
From: Joe Perches @ 2011-08-29 18:31 UTC (permalink / raw)
  To: John W. Linville; +Cc: Luis R. Rodriguez, linux-wireless, netdev, linux-kernel
In-Reply-To: <20110829181237.GB1406@tuxdriver.com>

On Mon, 2011-08-29 at 14:12 -0400, John W. Linville wrote:
> On Fri, Aug 26, 2011 at 01:56:39AM -0700, Joe Perches wrote:
> > Changing the return type and removing the unused argument from
> > ath_printk reduces code size.
> > Add an __always_unused struct ath_common * to the macros
> > that call ath_printk to avoid unused variable warnings.
> > $ size drivers/net/wireless/ath/built-in.o*
> >    text	   data	    bss	    dec	    hex	filename
> > 1159859	  16235	 212000	1388094	 152e3e	drivers/net/wireless/ath/built-in.o.new
> > 1164175	  16235	 212032	1392442	 153f3a	drivers/net/wireless/ath/built-in.o.old
[]
> > +#define _ath_printk(level, common, fmt, ...)			\
> > +do {								\
> > +	__always_unused struct ath_common *unused = common;	\
> > +	ath_printk(level, fmt, ##__VA_ARGS__);			\
> > +} while (0)
[]
> >  #define ath_emerg(common, fmt, ...)				\
> > -	ath_printk(KERN_EMERG, common, fmt, ##__VA_ARGS__)
> > +	_ath_printk(KERN_EMERG, common, fmt, ##__VA_ARGS__)
[]
> Any reason to preserve all these "common" args?

ath_dbg uses common, the other ath_<level>s do not.

So, other than to avoid modifying all the current uses?
Maybe just consistency or a future use case.

Or not.

I think using the macro to avoid larger line changes is
an acceptable minimal change.

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox