Netdev List
 help / color / mirror / Atom feed
* [PATCH v2 1/2] MAINTAINERS: can: the mailinglist moved to vger.kernel.org
From: Marc Kleine-Budde @ 2011-10-17 19:31 UTC (permalink / raw)
  To: linux-can; +Cc: netdev, Marc Kleine-Budde
In-Reply-To: <1318879920-25280-1-git-send-email-mkl@pengutronix.de>

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
---
 MAINTAINERS |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index aac56f9..5008b08 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1671,7 +1671,7 @@ CAN NETWORK LAYER
 M:	Oliver Hartkopp <socketcan@hartkopp.net>
 M:	Oliver Hartkopp <oliver.hartkopp@volkswagen.de>
 M:	Urs Thuermann <urs.thuermann@volkswagen.de>
-L:	socketcan-core@lists.berlios.de (subscribers-only)
+L:	linux-can@vger.kernel.org
 L:	netdev@vger.kernel.org
 W:	http://developer.berlios.de/projects/socketcan/
 S:	Maintained
@@ -1683,7 +1683,7 @@ F:	include/linux/can/raw.h
 
 CAN NETWORK DRIVERS
 M:	Wolfgang Grandegger <wg@grandegger.com>
-L:	socketcan-core@lists.berlios.de (subscribers-only)
+L:	linux-can@vger.kernel.org
 L:	netdev@vger.kernel.org
 W:	http://developer.berlios.de/projects/socketcan/
 S:	Maintained
-- 
1.7.4.1

^ permalink raw reply related

* [PATCH v2 0/2] MAINTAINERS: can: the mailinglist moved to vger.kernel.org
From: Marc Kleine-Budde @ 2011-10-17 19:31 UTC (permalink / raw)
  To: linux-can; +Cc: netdev

Hello,

the BerliOS project will close with the end of the year, so we moved our
mailinglist to vger.kernel.org, it's now linux-can@vger.kernel.org.

This patch series change the mailinglist in MAINTAINERS and remove all other
references from the source tree. As David pointed out, automated tool will
use MAINTAINERS to gather this information.

cheers, Marc

The following changes since commit fd38f734cb8200529e281338514945fcbff2364b:

  igbvf: convert to ndo_fix_features (2011-10-16 13:18:47 -0700)

are available in the git repository at:
  git.pengutronix.de:/git/mkl/linux-2.6.git can/mailinglist-for-net-next

Marc Kleine-Budde (2):
      MAINTAINERS: can: the mailinglist moved to vger.kernel.org
      can: remove references to berlios mailinglist

 MAINTAINERS                       |    4 ++--
 drivers/net/can/at91_can.c        |    2 --
 drivers/net/can/sja1000/sja1000.c |    2 --
 drivers/net/can/sja1000/sja1000.h |    2 --
 drivers/net/can/slcan.c           |    2 --
 drivers/net/can/vcan.c            |    2 --
 include/linux/can.h               |    2 --
 include/linux/can/bcm.h           |    2 --
 include/linux/can/core.h          |    2 --
 include/linux/can/dev.h           |    1 -
 include/linux/can/error.h         |    2 --
 include/linux/can/gw.h            |    2 --
 include/linux/can/netlink.h       |    2 --
 include/linux/can/raw.h           |    2 --
 net/can/af_can.c                  |    2 --
 net/can/af_can.h                  |    2 --
 net/can/bcm.c                     |    2 --
 net/can/gw.c                      |    2 --
 net/can/proc.c                    |    2 --
 net/can/raw.c                     |    2 --
 20 files changed, 2 insertions(+), 39 deletions(-)

^ permalink raw reply

* [PATCH v2 2/2] can: remove references to berlios mailinglist
From: Marc Kleine-Budde @ 2011-10-17 19:32 UTC (permalink / raw)
  To: linux-can; +Cc: netdev, Marc Kleine-Budde
In-Reply-To: <1318879920-25280-1-git-send-email-mkl@pengutronix.de>

The BerliOS project, which currently hosts our mailinglist, will
close with the end of the year. Now take the chance and remove all
occurrences of the mailinglist address from the source files.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---

Changes since v1:
- remove mailinglist address altogether (tnx David).

 drivers/net/can/at91_can.c        |    2 --
 drivers/net/can/sja1000/sja1000.c |    2 --
 drivers/net/can/sja1000/sja1000.h |    2 --
 drivers/net/can/slcan.c           |    2 --
 drivers/net/can/vcan.c            |    2 --
 include/linux/can.h               |    2 --
 include/linux/can/bcm.h           |    2 --
 include/linux/can/core.h          |    2 --
 include/linux/can/dev.h           |    1 -
 include/linux/can/error.h         |    2 --
 include/linux/can/gw.h            |    2 --
 include/linux/can/netlink.h       |    2 --
 include/linux/can/raw.h           |    2 --
 net/can/af_can.c                  |    2 --
 net/can/af_can.h                  |    2 --
 net/can/bcm.c                     |    2 --
 net/can/gw.c                      |    2 --
 net/can/proc.c                    |    2 --
 net/can/raw.c                     |    2 --
 19 files changed, 0 insertions(+), 37 deletions(-)

diff --git a/drivers/net/can/at91_can.c b/drivers/net/can/at91_can.c
index 121ede6..044ea06 100644
--- a/drivers/net/can/at91_can.c
+++ b/drivers/net/can/at91_can.c
@@ -8,8 +8,6 @@
  * Public License ("GPL") version 2 as distributed in the 'COPYING'
  * file from the main directory of the linux kernel source.
  *
- * Send feedback to <socketcan-users@lists.berlios.de>
- *
  *
  * Your platform definition file should specify something like:
  *
diff --git a/drivers/net/can/sja1000/sja1000.c b/drivers/net/can/sja1000/sja1000.c
index f501bba..04a3f1b 100644
--- a/drivers/net/can/sja1000/sja1000.c
+++ b/drivers/net/can/sja1000/sja1000.c
@@ -40,8 +40,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
  * DAMAGE.
  *
- * Send feedback to <socketcan-users@lists.berlios.de>
- *
  */
 
 #include <linux/module.h>
diff --git a/drivers/net/can/sja1000/sja1000.h b/drivers/net/can/sja1000/sja1000.h
index 78bd4ec..23fff06 100644
--- a/drivers/net/can/sja1000/sja1000.h
+++ b/drivers/net/can/sja1000/sja1000.h
@@ -40,8 +40,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
  * DAMAGE.
  *
- * Send feedback to <socketcan-users@lists.berlios.de>
- *
  */
 
 #ifndef SJA1000_DEV_H
diff --git a/drivers/net/can/slcan.c b/drivers/net/can/slcan.c
index 4b70b7e..a979b00 100644
--- a/drivers/net/can/slcan.c
+++ b/drivers/net/can/slcan.c
@@ -35,8 +35,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
  * DAMAGE.
  *
- * Send feedback to <socketcan-users@lists.berlios.de>
- *
  */
 
 #include <linux/module.h>
diff --git a/drivers/net/can/vcan.c b/drivers/net/can/vcan.c
index a30b8f4..f93e2d6 100644
--- a/drivers/net/can/vcan.c
+++ b/drivers/net/can/vcan.c
@@ -37,8 +37,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
  * DAMAGE.
  *
- * Send feedback to <socketcan-users@lists.berlios.de>
- *
  */
 
 #include <linux/module.h>
diff --git a/include/linux/can.h b/include/linux/can.h
index bb047dc..9a19bcb 100644
--- a/include/linux/can.h
+++ b/include/linux/can.h
@@ -8,8 +8,6 @@
  * Copyright (c) 2002-2007 Volkswagen Group Electronic Research
  * All rights reserved.
  *
- * Send feedback to <socketcan-users@lists.berlios.de>
- *
  */
 
 #ifndef CAN_H
diff --git a/include/linux/can/bcm.h b/include/linux/can/bcm.h
index e96154d..3ebe387 100644
--- a/include/linux/can/bcm.h
+++ b/include/linux/can/bcm.h
@@ -7,8 +7,6 @@
  * Copyright (c) 2002-2007 Volkswagen Group Electronic Research
  * All rights reserved.
  *
- * Send feedback to <socketcan-users@lists.berlios.de>
- *
  */
 
 #ifndef CAN_BCM_H
diff --git a/include/linux/can/core.h b/include/linux/can/core.h
index 5ce6b5d..0ccc1cd 100644
--- a/include/linux/can/core.h
+++ b/include/linux/can/core.h
@@ -8,8 +8,6 @@
  * Copyright (c) 2002-2007 Volkswagen Group Electronic Research
  * All rights reserved.
  *
- * Send feedback to <socketcan-users@lists.berlios.de>
- *
  */
 
 #ifndef CAN_CORE_H
diff --git a/include/linux/can/dev.h b/include/linux/can/dev.h
index cc0bb49..a0969fc 100644
--- a/include/linux/can/dev.h
+++ b/include/linux/can/dev.h
@@ -8,7 +8,6 @@
  *
  * Copyright (C) 2008 Wolfgang Grandegger <wg@grandegger.com>
  *
- * Send feedback to <socketcan-users@lists.berlios.de>
  */
 
 #ifndef CAN_DEV_H
diff --git a/include/linux/can/error.h b/include/linux/can/error.h
index 5958074..63e855e 100644
--- a/include/linux/can/error.h
+++ b/include/linux/can/error.h
@@ -7,8 +7,6 @@
  * Copyright (c) 2002-2007 Volkswagen Group Electronic Research
  * All rights reserved.
  *
- * Send feedback to <socketcan-users@lists.berlios.de>
- *
  */
 
 #ifndef CAN_ERROR_H
diff --git a/include/linux/can/gw.h b/include/linux/can/gw.h
index 5527b54..8e1db18 100644
--- a/include/linux/can/gw.h
+++ b/include/linux/can/gw.h
@@ -7,8 +7,6 @@
  * Copyright (c) 2011 Volkswagen Group Electronic Research
  * All rights reserved.
  *
- * Send feedback to <socketcan-users@lists.berlios.de>
- *
  */
 
 #ifndef CAN_GW_H
diff --git a/include/linux/can/netlink.h b/include/linux/can/netlink.h
index 34542d3..14966dd 100644
--- a/include/linux/can/netlink.h
+++ b/include/linux/can/netlink.h
@@ -5,8 +5,6 @@
  *
  * Copyright (c) 2009 Wolfgang Grandegger <wg@grandegger.com>
  *
- * Send feedback to <socketcan-users@lists.berlios.de>
- *
  */
 
 #ifndef CAN_NETLINK_H
diff --git a/include/linux/can/raw.h b/include/linux/can/raw.h
index b2a0f87..781f3a3 100644
--- a/include/linux/can/raw.h
+++ b/include/linux/can/raw.h
@@ -8,8 +8,6 @@
  * Copyright (c) 2002-2007 Volkswagen Group Electronic Research
  * All rights reserved.
  *
- * Send feedback to <socketcan-users@lists.berlios.de>
- *
  */
 
 #ifndef CAN_RAW_H
diff --git a/net/can/af_can.c b/net/can/af_can.c
index d1ff515..0ce2ad0 100644
--- a/net/can/af_can.c
+++ b/net/can/af_can.c
@@ -38,8 +38,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
  * DAMAGE.
  *
- * Send feedback to <socketcan-users@lists.berlios.de>
- *
  */
 
 #include <linux/module.h>
diff --git a/net/can/af_can.h b/net/can/af_can.h
index 34253b8..fd882db 100644
--- a/net/can/af_can.h
+++ b/net/can/af_can.h
@@ -35,8 +35,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
  * DAMAGE.
  *
- * Send feedback to <socketcan-users@lists.berlios.de>
- *
  */
 
 #ifndef AF_CAN_H
diff --git a/net/can/bcm.c b/net/can/bcm.c
index c84963d..151b773 100644
--- a/net/can/bcm.c
+++ b/net/can/bcm.c
@@ -37,8 +37,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
  * DAMAGE.
  *
- * Send feedback to <socketcan-users@lists.berlios.de>
- *
  */
 
 #include <linux/module.h>
diff --git a/net/can/gw.c b/net/can/gw.c
index ac11407..3d79b12 100644
--- a/net/can/gw.c
+++ b/net/can/gw.c
@@ -37,8 +37,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
  * DAMAGE.
  *
- * Send feedback to <socketcan-users@lists.berlios.de>
- *
  */
 
 #include <linux/module.h>
diff --git a/net/can/proc.c b/net/can/proc.c
index 0016f73..ba873c3 100644
--- a/net/can/proc.c
+++ b/net/can/proc.c
@@ -37,8 +37,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
  * DAMAGE.
  *
- * Send feedback to <socketcan-users@lists.berlios.de>
- *
  */
 
 #include <linux/module.h>
diff --git a/net/can/raw.c b/net/can/raw.c
index dea99a6..cde1b4a 100644
--- a/net/can/raw.c
+++ b/net/can/raw.c
@@ -37,8 +37,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
  * DAMAGE.
  *
- * Send feedback to <socketcan-users@lists.berlios.de>
- *
  */
 
 #include <linux/module.h>
-- 
1.7.4.1

^ permalink raw reply related

* Re: pull request: wireless-next 2011-10-17
From: John W. Linville @ 2011-10-17 20:23 UTC (permalink / raw)
  To: davem-fT/PcQaiUtIeIZ0/mPfg9Q
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	netdev-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <20111017191945.GD8948-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 30433 bytes --]

I neglected to identify the HEAD and sign...

commit 41ebe9cde738a972d05c7282e09f5ed54cff0e8d

Thanks,

John

On Mon, Oct 17, 2011 at 03:19:46PM -0400, John W. Linville wrote:
> Dave,
> 
> Here is one more (last?) wireless pull request intended for 3.2.
> 
> The most notable bits of this request are the long awaited brcm80211
> drivers.  Along with those come the usual strong showings from the
> iwlwifi and ath9k teams and some mac80211 updates from Johannes
> and others.  There are also updates for mwifiex, rtlwifi, wl12xx,
> and b43, as well as a few other random bits.
> 
> Please let me know if there are problems!
> 
> Thanks,
> 
> JOhn
> 
> ---
> 
> The following changes since commit fd38f734cb8200529e281338514945fcbff2364b:
> 
>   igbvf: convert to ndo_fix_features (2011-10-16 13:18:47 -0700)
> 
> are available in the git repository at:
>   git://git.infradead.org/users/linville/wireless-next.git for-davem
> 
> Alwin Beukers (9):
>       brcm80211: cleanup function prototypes
>       brcm80211: removed unused functions
>       brcm80211: moved power conversion functions
>       brcm80211: moved function brcmu_chipname
>       brcm80211: moved function brcmu_parse_tlvs
>       brcm80211: moved function brcmu_chspec_malformed
>       brcm80211: moved function brcmu_mkiovar
>       brcm80211: moved function brcmu_format_flags
>       brcm80211: removed file wifi.c
> 
> Amitkumar Karwar (3):
>       mwifiex: add support for Marvell pcie8766 chipset
>       mwifiex: use separate wait condition for each command node
>       mwifiex: fix make namespacecheck warnings
> 
> Arend van Spriel (11):
>       net: wireless: add brcm80211 drivers
>       brcm80211: remove sparse warning in fullmac debug function
>       brcm80211: fix sparse endianess error in mac80211_if.c
>       brcm80211: add endian annotation to packet filter structures
>       brcm80211: rename variable in _brcmf_set_multicast_list()
>       brcm80211: fix annotations in TOE configuration functions
>       brcm80211: use endian annotations in scan related function
>       brcm80211: use endian annotation for pmk related structure
>       brcm80211: use endian annotations for assoc ie length request
>       brcm80211: use endian annotation for roaming related parameters
>       brcm80211: use endian annotation for scan time configuration
> 
> Chaoming Li (4):
>       rtlwifi: Update to new Realtek version - Part I
>       rtlwifi: rtl8192ce: Add new chip revisions
>       rtlwifi: rtl8192se: Updates from latest Realtek driver version - Part II
>       rtlwifi: rtl8192de: Updates from latest Reaktek driver - Part III
> 
> Dan Carpenter (3):
>       ath5k: remove some unneeded error handling code
>       ath9k: remove some bogus error handling code
>       iwmc3200wifi: add a range check to iwm_cfg80211_get_key()
> 
> Daniel Drake (1):
>       libertas: fix changing interface type when interface is down
> 
> Don Fry (1):
>       iwlagn: eliminate bus pointer from iwl_priv structure
> 
> Eliad Peller (2):
>       wl12xx: configure rate policy for p2p operations
>       wl12xx: disable AP-mode-specific quirks
> 
> Emmanuel Grumbach (7):
>       iwlagn: kill hw_params.max_stations
>       iwlagn: fix a race in the unmapping of the TFDs
>       iwlagn: warn only once if AGG state is wrong
>       iwlagn: move iwl_beacon_time_mask_XXX near to usage
>       iwlagn: move iwl_enable_rfkill_int and kill iwl-helpers.h
>       iwlagn: remove uneeded include to iwl-dev.h
>       iwlagn: add missing include to iwl-agn-rs.h
> 
> Felix Fietkau (11):
>       ath9k: indicate which queues are blocked when stopping tx fails
>       ath9k: keep track of what's triggering hardware resets
>       ath9k: improve PS filter clearing and retry counting for A-MPDU
>       ath9k: fix retry counting / BAR handling during queue flush
>       ath9k: disable unnecessary PHY error reporting
>       ath9k_hw: make ath9k_hw_set_interrupts use ah->imask by default
>       ath9k_hw: clean up tx power handling
>       ath: remove ath_regulatory::current_rd_ext
>       ath9k_hw: remove EEP_REG_1
>       ath9k_hw: fix a regression in key miss handling
>       ath9k: only send FCS-fail packets to mac80211 if requested
> 
> Helmut Schaa (5):
>       mac80211: Update injection documentation
>       mac80211: Build TX radiotap header dynamically
>       mac80211: Populate radiotap header with MCS info for TX frames
>       nl80211: Add sta_flags to the station info
>       mac80211: Provide station flags to cfg80211
> 
> Javier Cardona (1):
>       mac80211: Fix regression that allowed mpaths between non-peers.
> 
> Johannes Berg (16):
>       mac80211: pass no-CCK flag through to HW scan
>       mac80211: fix offchannel TX cookie matching
>       mac80211: optimise monitor xmit
>       mac80211: remove tx_data ethertype
>       mac80211: move fragment flag to info flag as dont-fragment
>       mac80211: parse radiotap header earlier
>       mac80211: dont adjust truesize
>       mac80211: dont orphan TX skb
>       iwlagn: update beacon smarter
>       iwlagn: don't assign seqno to QoS Null frames
>       iwlagn: send simple LQ command for WoWLAN
>       iwlagn: stop interrupts when suspending
>       iwlagn: remove 5000 hw header
>       iwlagn: remove 6000 hw header
>       mac80211: reformat TX unauthorised check
>       mac80211: fix TID for null poll response
> 
> John W. Linville (2):
>       Merge branch 'for-linville' of git://github.com/lucacoelho/wl12xx
>       Merge branch 'master' of git://git.infradead.org/users/linville/wireless-next into for-davem
> 
> Larry Finger (2):
>       rtlwifi: Change debug parameter to apply to individual drivers
>       rtlwifi: Change PCI drivers to use the new PM framework
> 
> Luciano Coelho (1):
>       wl12xx: set max_sched_scan_ie_len correctly
> 
> Rafał Miłecki (3):
>       b43: trivial: do not report any link quality instead of invalid one
>       Revert "b43: trivial: do not report any link quality instead of invalid one"
>       b43: N-PHY: report signal to mac80211
> 
> Rajkumar Manoharan (14):
>       ath9k_hw: Fix ASPM L1 issue for AR9480
>       ath9k_hw: Updated ar9003 initval table for AR9380
>       ath9k_hw: Update AR9003 initval to improve phase noise
>       ath9k_hw: Updated AR9003 tx gain table for 5GHz
>       ath9k_hw: Improve fast channel change for AR9003 chips
>       ath9k_hw: Add support to reuse TxIQ cal measurements
>       ath9k_hw: Add support to reuse Carrier leak calibration
>       ath9k_hw: Cleanup Tx calibrations for AR9003 chips
>       ath9k_hw: Support fast channel change on 5GHz for AR9003 chips
>       ath9k_hw: Update normal/min noise floor value for AR9480
>       ath9k_hw: Add radio retention support for AR9480
>       ath9k_hw: Do fast channel change based on reusable calibration results
>       ath9k_hw: Rename AR9480 -> AR9462 initvals
>       ath9k: Rename AR9480 into AR9462
> 
> Roland Vossen (3):
>       brcm80211: smac: removed redundant timer function parameters
>       brcm80211: smac: decreased timer callback irq level
>       brcm80211: fmac: fixed weird indentation
> 
> Shahar Levi (1):
>       wl12xx: Add support for HW channel switch
> 
> Stanislaw Gruszka (1):
>       iwlagn: fix priv->cfg->ht_params NULL pointer dereference
> 
> Stephen Rothwell (2):
>       net: wireless: brcm80211: replace ndo_set_multicast_list  with ndo_set_rx_mode
>       net: wireless: brcm80210: include module.h
> 
> Wey-Yi Guy (20):
>       iwlagn: separate init calib and rt calib
>       iwlagn: add cmd queue pointer info when timeout
>       iwlagn: add REPLY_ECHO host command
>       iwlagn: add WARN if tx cmd complete come back late
>       iwlagn: add "echo" test when command queue stuck
>       iwlagn: check rf kill in queue stuck
>       iwlagn: add "echo test" command to debugfs
>       iwlagn: remove un-necessary step
>       iwlagn: set rts retry limit
>       iwlagn: add "_d" sku to 6005 series of devices
>       iwlagn: Add "_d" sku to 105 series of devices
>       iwlagn: do nothing when disable agg in wrong state
>       iwlagn: use low retry limit for WoWLAN
>       iwlwifi: update comments on how to enable debug flag
>       iwlagn: more info on warning for shutdown agg queue
>       iwlagn: don't stop rts/cts until last aggregation queue close
>       iwlagn: add debug for mac80211 callback
>       iwlagn: rename all the mac80211 callback functions
>       iwlagn: merge station management functions
>       iwlagn: rename iwl-rx.c to iwl-agn-rx.c
> 
> Yogesh Ashok Powar (1):
>       mwifiex: fix smatch errors
> 
>  Documentation/networking/mac80211-injection.txt    |    4 +
>  drivers/net/wireless/Kconfig                       |    1 +
>  drivers/net/wireless/Makefile                      |    3 +
>  drivers/net/wireless/ath/ath.h                     |    2 -
>  drivers/net/wireless/ath/ath5k/base.c              |    6 -
>  drivers/net/wireless/ath/ath9k/Makefile            |    1 +
>  drivers/net/wireless/ath/ath9k/ani.c               |    5 -
>  drivers/net/wireless/ath/ath9k/ar5008_phy.c        |   11 +-
>  .../net/wireless/ath/ath9k/ar9003_2p2_initvals.h   |  172 +-
>  drivers/net/wireless/ath/ath9k/ar9003_calib.c      |  250 +-
>  drivers/net/wireless/ath/ath9k/ar9003_eeprom.c     |   59 +-
>  drivers/net/wireless/ath/ath9k/ar9003_hw.c         |  186 +-
>  drivers/net/wireless/ath/ath9k/ar9003_mac.c        |    4 +-
>  drivers/net/wireless/ath/ath9k/ar9003_paprd.c      |   15 +-
>  drivers/net/wireless/ath/ath9k/ar9003_phy.c        |   97 +-
>  drivers/net/wireless/ath/ath9k/ar9003_phy.h        |   52 +-
>  drivers/net/wireless/ath/ath9k/ar9003_rtt.c        |  153 +
>  drivers/net/wireless/ath/ath9k/ar9003_rtt.h        |   28 +
>  ...ar9480_1p0_initvals.h => ar9462_1p0_initvals.h} |   62 +-
>  ...ar9480_2p0_initvals.h => ar9462_2p0_initvals.h} |   68 +-
>  drivers/net/wireless/ath/ath9k/ath9k.h             |    2 +-
>  drivers/net/wireless/ath/ath9k/beacon.c            |   10 +-
>  drivers/net/wireless/ath/ath9k/common.c            |    6 +-
>  drivers/net/wireless/ath/ath9k/debug.c             |   19 +-
>  drivers/net/wireless/ath/ath9k/debug.h             |   13 +
>  drivers/net/wireless/ath/ath9k/eeprom.h            |   10 +-
>  drivers/net/wireless/ath/ath9k/eeprom_4k.c         |   29 +-
>  drivers/net/wireless/ath/ath9k/eeprom_9287.c       |   35 +-
>  drivers/net/wireless/ath/ath9k/eeprom_def.c        |   45 +-
>  drivers/net/wireless/ath/ath9k/gpio.c              |    8 +-
>  drivers/net/wireless/ath/ath9k/hw-ops.h            |    7 +
>  drivers/net/wireless/ath/ath9k/hw.c                |  158 +-
>  drivers/net/wireless/ath/ath9k/hw.h                |   39 +-
>  drivers/net/wireless/ath/ath9k/init.c              |    2 -
>  drivers/net/wireless/ath/ath9k/mac.c               |   10 +-
>  drivers/net/wireless/ath/ath9k/mac.h               |    6 +-
>  drivers/net/wireless/ath/ath9k/main.c              |   25 +-
>  drivers/net/wireless/ath/ath9k/pci.c               |    2 +-
>  drivers/net/wireless/ath/ath9k/recv.c              |   35 +-
>  drivers/net/wireless/ath/ath9k/reg.h               |   29 +-
>  drivers/net/wireless/ath/ath9k/xmit.c              |   40 +-
>  drivers/net/wireless/ath/carl9170/main.c           |    1 -
>  drivers/net/wireless/b43/xmit.c                    |   18 +-
>  drivers/net/wireless/b43/xmit.h                    |   10 +-
>  drivers/net/wireless/brcm80211/Kconfig             |   35 +
>  drivers/net/wireless/brcm80211/Makefile            |   23 +
>  drivers/net/wireless/brcm80211/brcmfmac/Makefile   |   33 +
>  drivers/net/wireless/brcm80211/brcmfmac/bcmchip.h  |   32 +
>  drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c   |  371 +
>  .../net/wireless/brcm80211/brcmfmac/bcmsdh_sdmmc.c |  626 +
>  drivers/net/wireless/brcm80211/brcmfmac/dhd.h      |  776 +
>  drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h  |   57 +
>  drivers/net/wireless/brcm80211/brcmfmac/dhd_cdc.c  |  498 +
>  .../net/wireless/brcm80211/brcmfmac/dhd_common.c   |  895 +
>  drivers/net/wireless/brcm80211/brcmfmac/dhd_dbg.h  |   58 +
>  .../net/wireless/brcm80211/brcmfmac/dhd_linux.c    | 1356 +
>  .../net/wireless/brcm80211/brcmfmac/dhd_proto.h    |   60 +
>  drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c | 4591 ++++
>  .../net/wireless/brcm80211/brcmfmac/sdio_host.h    |  252 +
>  .../net/wireless/brcm80211/brcmfmac/wl_cfg80211.c  | 3868 +++
>  .../net/wireless/brcm80211/brcmfmac/wl_cfg80211.h  |  375 +
>  drivers/net/wireless/brcm80211/brcmsmac/Makefile   |   51 +
>  drivers/net/wireless/brcm80211/brcmsmac/aiutils.c  | 2079 ++
>  drivers/net/wireless/brcm80211/brcmsmac/aiutils.h  |  378 +
>  drivers/net/wireless/brcm80211/brcmsmac/ampdu.c    | 1241 +
>  drivers/net/wireless/brcm80211/brcmsmac/ampdu.h    |   30 +
>  drivers/net/wireless/brcm80211/brcmsmac/antsel.c   |  307 +
>  drivers/net/wireless/brcm80211/brcmsmac/antsel.h   |   29 +
>  .../brcm80211/brcmsmac/brcms_trace_events.c        |   23 +
>  .../brcm80211/brcmsmac/brcms_trace_events.h        |   92 +
>  drivers/net/wireless/brcm80211/brcmsmac/channel.c  | 1591 ++
>  drivers/net/wireless/brcm80211/brcmsmac/channel.h  |   53 +
>  drivers/net/wireless/brcm80211/brcmsmac/d11.h      | 1898 ++
>  drivers/net/wireless/brcm80211/brcmsmac/dma.c      | 1425 +
>  drivers/net/wireless/brcm80211/brcmsmac/dma.h      |  120 +
>  .../net/wireless/brcm80211/brcmsmac/mac80211_if.c  | 1696 ++
>  .../net/wireless/brcm80211/brcmsmac/mac80211_if.h  |  108 +
>  drivers/net/wireless/brcm80211/brcmsmac/main.c     | 8775 ++++++
>  drivers/net/wireless/brcm80211/brcmsmac/main.h     |  735 +
>  drivers/net/wireless/brcm80211/brcmsmac/nicpci.c   |  835 +
>  drivers/net/wireless/brcm80211/brcmsmac/nicpci.h   |   82 +
>  drivers/net/wireless/brcm80211/brcmsmac/otp.c      |  426 +
>  drivers/net/wireless/brcm80211/brcmsmac/otp.h      |   36 +
>  .../net/wireless/brcm80211/brcmsmac/phy/phy_cmn.c  | 2988 ++
>  .../net/wireless/brcm80211/brcmsmac/phy/phy_hal.h  |  301 +
>  .../net/wireless/brcm80211/brcmsmac/phy/phy_int.h  | 1169 +
>  .../net/wireless/brcm80211/brcmsmac/phy/phy_lcn.c  | 5154 ++++
>  .../net/wireless/brcm80211/brcmsmac/phy/phy_lcn.h  |  121 +
>  .../net/wireless/brcm80211/brcmsmac/phy/phy_n.c    |28876 ++++++++++++++++++++
>  .../wireless/brcm80211/brcmsmac/phy/phy_qmath.c    |  308 +
>  .../wireless/brcm80211/brcmsmac/phy/phy_qmath.h    |   42 +
>  .../wireless/brcm80211/brcmsmac/phy/phy_radio.h    | 1533 ++
>  .../net/wireless/brcm80211/brcmsmac/phy/phyreg_n.h |  167 +
>  .../wireless/brcm80211/brcmsmac/phy/phytbl_lcn.c   | 3250 +++
>  .../wireless/brcm80211/brcmsmac/phy/phytbl_lcn.h   |   54 +
>  .../net/wireless/brcm80211/brcmsmac/phy/phytbl_n.c |10630 +++++++
>  .../net/wireless/brcm80211/brcmsmac/phy/phytbl_n.h |   50 +
>  drivers/net/wireless/brcm80211/brcmsmac/phy_shim.c |  225 +
>  drivers/net/wireless/brcm80211/brcmsmac/phy_shim.h |  182 +
>  drivers/net/wireless/brcm80211/brcmsmac/pmu.c      |  458 +
>  drivers/net/wireless/brcm80211/brcmsmac/pmu.h      |   38 +
>  drivers/net/wireless/brcm80211/brcmsmac/pub.h      |  634 +
>  drivers/net/wireless/brcm80211/brcmsmac/rate.c     |  514 +
>  drivers/net/wireless/brcm80211/brcmsmac/rate.h     |  250 +
>  drivers/net/wireless/brcm80211/brcmsmac/scb.h      |   82 +
>  drivers/net/wireless/brcm80211/brcmsmac/srom.c     | 1298 +
>  drivers/net/wireless/brcm80211/brcmsmac/srom.h     |   34 +
>  drivers/net/wireless/brcm80211/brcmsmac/stf.c      |  436 +
>  drivers/net/wireless/brcm80211/brcmsmac/stf.h      |   42 +
>  drivers/net/wireless/brcm80211/brcmsmac/types.h    |  352 +
>  .../net/wireless/brcm80211/brcmsmac/ucode_loader.c |  109 +
>  .../net/wireless/brcm80211/brcmsmac/ucode_loader.h |   58 +
>  drivers/net/wireless/brcm80211/brcmutil/Makefile   |   28 +
>  drivers/net/wireless/brcm80211/brcmutil/utils.c    |  386 +
>  .../net/wireless/brcm80211/include/brcm_hw_ids.h   |   59 +
>  .../net/wireless/brcm80211/include/brcmu_utils.h   |  195 +
>  .../net/wireless/brcm80211/include/brcmu_wifi.h    |  239 +
>  .../net/wireless/brcm80211/include/chipcommon.h    |  284 +
>  drivers/net/wireless/brcm80211/include/defs.h      |  104 +
>  drivers/net/wireless/brcm80211/include/soc.h       |   90 +
>  drivers/net/wireless/iwlwifi/Kconfig               |    4 +-
>  drivers/net/wireless/iwlwifi/Makefile              |    3 +-
>  drivers/net/wireless/iwlwifi/iwl-1000.c            |    3 -
>  drivers/net/wireless/iwlwifi/iwl-2000.c            |   10 +-
>  drivers/net/wireless/iwlwifi/iwl-5000-hw.h         |   88 -
>  drivers/net/wireless/iwlwifi/iwl-5000.c            |   22 +-
>  drivers/net/wireless/iwlwifi/iwl-6000-hw.h         |   81 -
>  drivers/net/wireless/iwlwifi/iwl-6000.c            |   12 +-
>  drivers/net/wireless/iwlwifi/iwl-agn-hw.h          |   15 +-
>  drivers/net/wireless/iwlwifi/iwl-agn-lib.c         |    2 -
>  drivers/net/wireless/iwlwifi/iwl-agn-rs.c          |    4 +-
>  drivers/net/wireless/iwlwifi/iwl-agn-rs.h          |    4 +
>  .../wireless/iwlwifi/{iwl-rx.c => iwl-agn-rx.c}    |  112 +-
>  drivers/net/wireless/iwlwifi/iwl-agn-rxon.c        |   10 +-
>  drivers/net/wireless/iwlwifi/iwl-agn-sta.c         |  861 +-
>  drivers/net/wireless/iwlwifi/iwl-agn-tx.c          |   32 +-
>  drivers/net/wireless/iwlwifi/iwl-agn-ucode.c       |    1 -
>  drivers/net/wireless/iwlwifi/iwl-agn.c             |  126 +-
>  drivers/net/wireless/iwlwifi/iwl-agn.h             |  131 +-
>  drivers/net/wireless/iwlwifi/iwl-cfg.h             |    2 +
>  drivers/net/wireless/iwlwifi/iwl-commands.h        |   11 +
>  drivers/net/wireless/iwlwifi/iwl-core.c            |   83 +-
>  drivers/net/wireless/iwlwifi/iwl-core.h            |   20 +-
>  drivers/net/wireless/iwlwifi/iwl-debug.h           |    8 +-
>  drivers/net/wireless/iwlwifi/iwl-debugfs.c         |   22 +-
>  drivers/net/wireless/iwlwifi/iwl-dev.h             |    3 -
>  drivers/net/wireless/iwlwifi/iwl-helpers.h         |   72 -
>  drivers/net/wireless/iwlwifi/iwl-led.c             |    3 +-
>  drivers/net/wireless/iwlwifi/iwl-pci.c             |    2 +
>  drivers/net/wireless/iwlwifi/iwl-power.c           |    2 +-
>  drivers/net/wireless/iwlwifi/iwl-scan.c            |    4 +-
>  drivers/net/wireless/iwlwifi/iwl-shared.h          |    2 -
>  drivers/net/wireless/iwlwifi/iwl-sta.c             |  835 -
>  drivers/net/wireless/iwlwifi/iwl-sta.h             |  141 -
>  drivers/net/wireless/iwlwifi/iwl-sv-open.c         |    8 +-
>  drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c   |    1 -
>  drivers/net/wireless/iwlwifi/iwl-trans-pcie-tx.c   |   23 +-
>  drivers/net/wireless/iwlwifi/iwl-trans-pcie.c      |   21 +-
>  drivers/net/wireless/iwmc3200wifi/cfg80211.c       |    6 +-
>  drivers/net/wireless/libertas/cfg.c                |   20 +-
>  drivers/net/wireless/libertas/decl.h               |    2 +
>  drivers/net/wireless/libertas/main.c               |   32 +
>  drivers/net/wireless/mwifiex/11n_aggr.c            |    3 +-
>  drivers/net/wireless/mwifiex/Kconfig               |   11 +
>  drivers/net/wireless/mwifiex/Makefile              |    3 +
>  drivers/net/wireless/mwifiex/cfp.c                 |   10 +-
>  drivers/net/wireless/mwifiex/cmdevt.c              |   34 +-
>  drivers/net/wireless/mwifiex/decl.h                |    1 -
>  drivers/net/wireless/mwifiex/fw.h                  |   36 +-
>  drivers/net/wireless/mwifiex/init.c                |   73 +-
>  drivers/net/wireless/mwifiex/main.c                |   10 +-
>  drivers/net/wireless/mwifiex/main.h                |   35 +-
>  drivers/net/wireless/mwifiex/pcie.c                | 1948 ++
>  drivers/net/wireless/mwifiex/pcie.h                |  148 +
>  drivers/net/wireless/mwifiex/scan.c                |   56 +-
>  drivers/net/wireless/mwifiex/sdio.c                |   19 +-
>  drivers/net/wireless/mwifiex/sdio.h                |   24 +-
>  drivers/net/wireless/mwifiex/sta_cmd.c             |   64 +
>  drivers/net/wireless/mwifiex/sta_cmdresp.c         |    2 +
>  drivers/net/wireless/mwifiex/sta_ioctl.c           |   12 +-
>  drivers/net/wireless/mwifiex/sta_tx.c              |    2 +-
>  drivers/net/wireless/mwifiex/txrx.c                |   45 +-
>  drivers/net/wireless/mwifiex/util.c                |    5 +-
>  drivers/net/wireless/mwifiex/util.h                |    9 +-
>  drivers/net/wireless/mwifiex/wmm.c                 |    4 +-
>  drivers/net/wireless/rtlwifi/base.c                |    6 +-
>  drivers/net/wireless/rtlwifi/debug.c               |    6 -
>  drivers/net/wireless/rtlwifi/pci.c                 |   19 +-
>  drivers/net/wireless/rtlwifi/pci.h                 |    4 +-
>  drivers/net/wireless/rtlwifi/rtl8192ce/def.h       |   14 +
>  drivers/net/wireless/rtlwifi/rtl8192ce/sw.c        |   35 +-
>  drivers/net/wireless/rtlwifi/rtl8192cu/def.h       |    4 -
>  drivers/net/wireless/rtlwifi/rtl8192cu/sw.c        |    7 +
>  drivers/net/wireless/rtlwifi/rtl8192de/def.h       |  135 +-
>  drivers/net/wireless/rtlwifi/rtl8192de/hw.c        |   15 +-
>  drivers/net/wireless/rtlwifi/rtl8192de/sw.c        |   21 +-
>  drivers/net/wireless/rtlwifi/rtl8192se/hw.c        |   22 +-
>  drivers/net/wireless/rtlwifi/rtl8192se/reg.h       |    1 +
>  drivers/net/wireless/rtlwifi/rtl8192se/sw.c        |   22 +-
>  drivers/net/wireless/rtlwifi/rtl8192se/trx.c       |   55 +-
>  drivers/net/wireless/rtlwifi/wifi.h                |    5 +
>  drivers/net/wireless/wl12xx/acx.c                  |   16 +
>  drivers/net/wireless/wl12xx/acx.h                  |    1 +
>  drivers/net/wireless/wl12xx/boot.c                 |    6 +-
>  drivers/net/wireless/wl12xx/cmd.c                  |   63 +-
>  drivers/net/wireless/wl12xx/cmd.h                  |   20 +
>  drivers/net/wireless/wl12xx/conf.h                 |    6 +-
>  drivers/net/wireless/wl12xx/event.c                |   15 +
>  drivers/net/wireless/wl12xx/main.c                 |   48 +-
>  drivers/net/wireless/wl12xx/wl12xx.h               |    7 +-
>  drivers/staging/Kconfig                            |    2 +-
>  drivers/staging/Makefile                           |    4 +-
>  include/linux/nl80211.h                            |    2 +
>  include/net/cfg80211.h                             |    5 +-
>  include/net/mac80211.h                             |   10 +-
>  net/mac80211/cfg.c                                 |   22 +-
>  net/mac80211/ieee80211_i.h                         |   15 +-
>  net/mac80211/main.c                                |    6 +-
>  net/mac80211/mesh_hwmp.c                           |    9 +
>  net/mac80211/scan.c                                |    1 +
>  net/mac80211/sta_info.c                            |    6 +-
>  net/mac80211/status.c                              |  137 +-
>  net/mac80211/tx.c                                  |  360 +-
>  net/mac80211/work.c                                |    2 +-
>  net/mac80211/wpa.c                                 |    3 +-
>  net/wireless/nl80211.c                             |    4 +
>  226 files changed, 102247 insertions(+), 2686 deletions(-)
>  create mode 100644 drivers/net/wireless/ath/ath9k/ar9003_rtt.c
>  create mode 100644 drivers/net/wireless/ath/ath9k/ar9003_rtt.h
>  rename drivers/net/wireless/ath/ath9k/{ar9480_1p0_initvals.h => ar9462_1p0_initvals.h} (97%)
>  rename drivers/net/wireless/ath/ath9k/{ar9480_2p0_initvals.h => ar9462_2p0_initvals.h} (97%)
>  create mode 100644 drivers/net/wireless/brcm80211/Kconfig
>  create mode 100644 drivers/net/wireless/brcm80211/Makefile
>  create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/Makefile
>  create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/bcmchip.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/bcmsdh_sdmmc.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/dhd.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/dhd_cdc.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/dhd_common.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/dhd_dbg.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/dhd_proto.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/Makefile
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/aiutils.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/aiutils.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/ampdu.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/ampdu.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/antsel.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/antsel.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/brcms_trace_events.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/brcms_trace_events.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/channel.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/channel.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/d11.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/dma.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/dma.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/main.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/main.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/nicpci.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/nicpci.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/otp.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/otp.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/phy/phy_cmn.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/phy/phy_hal.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/phy/phy_lcn.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/phy/phy_lcn.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/phy/phy_n.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/phy/phy_qmath.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/phy/phy_qmath.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/phy/phy_radio.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/phy/phyreg_n.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/phy/phytbl_lcn.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/phy/phytbl_lcn.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/phy/phytbl_n.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/phy/phytbl_n.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/phy_shim.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/phy_shim.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/pmu.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/pmu.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/pub.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/rate.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/rate.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/scb.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/srom.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/srom.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/stf.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/stf.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/types.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/ucode_loader.c
>  create mode 100644 drivers/net/wireless/brcm80211/brcmsmac/ucode_loader.h
>  create mode 100644 drivers/net/wireless/brcm80211/brcmutil/Makefile
>  create mode 100644 drivers/net/wireless/brcm80211/brcmutil/utils.c
>  create mode 100644 drivers/net/wireless/brcm80211/include/brcm_hw_ids.h
>  create mode 100644 drivers/net/wireless/brcm80211/include/brcmu_utils.h
>  create mode 100644 drivers/net/wireless/brcm80211/include/brcmu_wifi.h
>  create mode 100644 drivers/net/wireless/brcm80211/include/chipcommon.h
>  create mode 100644 drivers/net/wireless/brcm80211/include/defs.h
>  create mode 100644 drivers/net/wireless/brcm80211/include/soc.h
>  delete mode 100644 drivers/net/wireless/iwlwifi/iwl-5000-hw.h
>  delete mode 100644 drivers/net/wireless/iwlwifi/iwl-6000-hw.h
>  rename drivers/net/wireless/iwlwifi/{iwl-rx.c => iwl-agn-rx.c} (91%)
>  delete mode 100644 drivers/net/wireless/iwlwifi/iwl-helpers.h
>  delete mode 100644 drivers/net/wireless/iwlwifi/iwl-sta.c
>  delete mode 100644 drivers/net/wireless/iwlwifi/iwl-sta.h
>  create mode 100644 drivers/net/wireless/mwifiex/pcie.c
>  create mode 100644 drivers/net/wireless/mwifiex/pcie.h
> -- 
> John W. Linville		Someday the world will need a hero, and you
> linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org			might be all we have.  Be ready.
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

-- 
John W. Linville		Someday the world will need a hero, and you
linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org			might be all we have.  Be ready.

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply

* [PATCH] Disable TCP_DEBUG and FASTRETRANS_DEBUG by default
From: Dan McGee @ 2011-10-17 20:25 UTC (permalink / raw)
  To: netdev
  Cc: David S. Miller, Alexey Kuznetsov, James Morris,
	Hideaki YOSHIFUJI, Patrick McHardy, linux-kernel

If these are truly debug options, they should be turned off by default
and can be tweaked if necessary. Fix one usage of the flag to use #if
instead of #ifdef so defining to zero is acceptable.

Signed-off-by: Dan McGee <dpmcgee@gmail.com>
---
 include/net/tcp.h    |    4 ++--
 net/ipv4/tcp_timer.c |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/net/tcp.h b/include/net/tcp.h
index acc620a..15236d0 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -18,8 +18,8 @@
 #ifndef _TCP_H
 #define _TCP_H
 
-#define TCP_DEBUG 1
-#define FASTRETRANS_DEBUG 1
+#define TCP_DEBUG 0
+#define FASTRETRANS_DEBUG 0
 
 #include <linux/list.h>
 #include <linux/tcp.h>
diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c
index ecd44b0..31669e7 100644
--- a/net/ipv4/tcp_timer.c
+++ b/net/ipv4/tcp_timer.c
@@ -334,7 +334,7 @@ void tcp_retransmit_timer(struct sock *sk)
 		 * connection. If the socket is an orphan, time it out,
 		 * we cannot allow such beasts to hang infinitely.
 		 */
-#ifdef TCP_DEBUG
+#if TCP_DEBUG
 		struct inet_sock *inet = inet_sk(sk);
 		if (sk->sk_family == AF_INET) {
 			LIMIT_NETDEBUG(KERN_DEBUG "TCP: Peer %pI4:%u/%u unexpectedly shrunk window %u:%u (repaired)\n",
-- 
1.7.7

^ permalink raw reply related

* Re: [net-next 2/6] igb: Check if subordinate VFs are assigned to virtual machines
From: David Miller @ 2011-10-17 20:49 UTC (permalink / raw)
  To: jeffrey.t.kirsher
  Cc: gregory.v.rose, netdev, gospo, sassmann, konrad.wilk, benve,
	sathya.perla, dm, jdmason, james.smart
In-Reply-To: <1318852447.2960.50.camel@jtkirshe-mobl>

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Mon, 17 Oct 2011 04:54:06 -0700

> On Mon, 2011-10-17 at 04:32 -0700, Kirsher, Jeffrey T wrote:
>> From: Greg Rose <gregory.v.rose@intel.com>
>> 
>> Kvm and the Xen pci-back driver will set a flag in the virtual
>> function
>> pci device dev_flags when the VF is assigned to a guest VM.  Before
>> destroying subordinate VFs check to see if the flag is set and if so
>> skip the call to pci_disable_sriov() to avoid system crashes.
>> 
>> Copy the maintainer for the Xen pci-back driver.  Also CC'ing
>> maintainers of all drivers found to call pci_disable_sriov().
>> 
>> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>> Cc: Christian Benvenuti <benve@cisco.com>
>> Cc: Sathya Perla <sathya.perla@emulex.com>
>> Cc: Dimitris Michailidis <dm@chelsio.com>
>> Cc: Jon Mason <jdmason@kudzu.us>
>> Cc: James Smart <james.smart@emulex.com>
>> 
>> Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
>> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> 
> 
> Dave- please do not pull this patch (or the series).  There is an issue
> with this patch.

Ok.

^ permalink raw reply

* Re: [PATCH 2/2] bridge: allow forwarding some link local frames
From: Ross Brattain @ 2011-10-17 20:53 UTC (permalink / raw)
  To: Ed Swierk; +Cc: Stephen Hemminger, David S. Miller, netdev@vger.kernel.org
In-Reply-To: <CAF5U64AYRhZ1e0=-RhSemgaOnewTQSpAoRY2FUrFr252PG98Pw@mail.gmail.com>

On Mon, 17 Oct 2011 07:35:53 -0700
Ed Swierk <eswierk@bigswitch.com> wrote:

> Why is forwarding LLDP (01-80-C2-00-00-0E) frames forbidden? I'm
> testing LLDP in a virtual topology and need the bridge to forward
> them.
> 
> If we're worried about standards, there is justification for allowing
> forwarding of LLDP frames. 802.1d-2005 specifies two classes of
> bridge, customer (C-VLAN) and provider (S-VLAN). Customer bridge is
> just new terminology for what was previously just called an
> 802.1d-compliant bridge, while provider bridge is a new class that
> transparently forwards certain control frames.

01-80-C2-00-00-0E should not pass the physical link.  If it does it will affect PFC 802.1Qbb and ETS 802.1Qaz.

802.1AB-2009 is more specific.  See Table 7-1 Group MAC addresses used by LLDP:

Nearest bridge: 01-80-C2-00-00-0E
Propagation constrained to a single physical link; stopped by all types of bridge

Nearest non-TPMR bridge: 01-80-C2-00-00-03
Propagation constrained by all bridges other than TPMRs; intended for use within provider bridged networks

Nearest Customer Bridge: 01-80-C2-00-00-00
Propagation constrained by customer bridges; this gives the same coverage as a customer-customer MACSec connection


--
Ross

^ permalink raw reply

* Re: sky2: only 10Mb/s
From: Pavel Matěja @ 2011-10-17 20:53 UTC (permalink / raw)
  To: netdev; +Cc: Stephen Hemminger
In-Reply-To: <20111017085647.346a37cb@nehalam.linuxnetplumber.net>

> > Hi,
> > I tested new kernel and I have found out I have only 10Mb/s link instead
> > of 100Mb/s to my router.
> > If I did the git bisect right it was caused by commit
> > 4fb99cd6ac4fe6d03a334a6f4ebb2bbfc4b479ed which was submitted by you.
> > 
> > My card is (lspci -v):
> > 05:00.0 Ethernet controller: Marvell Technology Group Ltd. Yukon Optima
> > 88E8059 [PCIe Gigabit Ethernet Controller with AVB] (rev 11)
> > 
> >         Subsystem: ASUSTeK Computer Inc. Device 8439
> >         Flags: bus master, fast devsel, latency 0, IRQ 80
> >         Memory at fe6fc000 (64-bit, non-prefetchable) [size=16K]
> >         I/O ports at b800 [size=256]
> >         Expansion ROM at fe6c0000 [disabled] [size=128K]
> >         Capabilities: [48] Power Management version 3
> >         Capabilities: [5c] MSI: Enable+ Count=1/1 Maskable- 64bit+
> >         Capabilities: [c0] Express Legacy Endpoint, MSI 00
> >         Capabilities: [100] Advanced Error Reporting
> >         Capabilities: [130] Device Serial Number a5-89-6d-ff-ff-30-cf-20
> >         Kernel driver in use: sky2
> > 
> > I'm quite sure it's related to Yukon Optima because "Ethernet controller:
> > Marvell Technology Group Ltd. 88E8056 PCI-E Gigabit Ethernet Controller"
> > in my work computer has 100Mb/s with the same kernel and driver.
> > 
> > I got no response on netdev@vger.kernel.org.
> > Can you help me?
> 
> What is output of dmesg for sky2.
>  dmesg | grep sky2

sky2: driver version 1.28                                                                                                                                                          
sky2 0000:05:00.0: PCI INT A -> GSI 51 (level, low) -> IRQ 51                                                                                                                      
sky2 0000:05:00.0: setting latency timer to 64                                                                                                                                     
sky2 0000:05:00.0: Yukon-2 Optima chip revision 1                                                                                                                                  
sky2 0000:05:00.0: irq 80 for MSI/MSI-X                                                                                                                                            
sky2 0000:05:00.0: eth0: addr 20:cf:30:6d:89:a5                                                                                                                                    
sky2 0000:05:00.0: eth0: enabling interface                                                                                                                                        
sky2 0000:05:00.0: eth0: Link is up at 10 Mbps, full duplex, flow control both                                                                                                     
-- 
Pavel Mateja

^ permalink raw reply

* Re: realtek 8168 driver problem
From: Francois Romieu @ 2011-10-17 20:57 UTC (permalink / raw)
  To: HacKurx; +Cc: netdev
In-Reply-To: <CAFwXZv9pq+SZh7kY5kS3k9Jmnih9t++rvtuWvLH9VOAttE+RVw@mail.gmail.com>

HacKurx <hackurx@gmail.com> :
[...]
> A very annoying problem affects a large number of GNU/Linux distribution.
> Network card problem (with 8111/8168 chipset), As you can see:
[...]
> [    5.159689] r8169 0000:03:00.0: eth0: RTL8168b/8111b at 0xffffc9000178c000, 50:e5:49:52:8a:7f, XID 0c900800 IRQ 41

XID identifies your chipset as RTL_GIGA_MAC_VER_34. A recent r8169 kernel
driver would display something like :

[    x.xxxxxx] r8169 0000:03:00.0: eth0: RTL8168evl/8111evl at ...
                                         ^^^^^^^^^^^^^^^^^^

Your r8169 driver lacks support for the adequate chipset. Please try
current 3.1-rc. It should perform better.

-- 
Ueimor

^ permalink raw reply

* Re: [PATCH 2/2] bridge: allow forwarding some link local frames
From: Ed Swierk @ 2011-10-17 21:09 UTC (permalink / raw)
  To: Ross Brattain; +Cc: Stephen Hemminger, David S. Miller, netdev@vger.kernel.org
In-Reply-To: <20111017135323.00003ee5@unknown>

Interesting, I didn't realize LLDP could use any of those addresses.

I finally got a peek at the hot-off-the-presses IEEE 802.1Q-2011, and
notice that 01-80-C2-00-00-0E is now assigned as "Individual LAN Scope
group address, Nearest bridge group address" rather than dedicated to
LLDP specifically.

Since our application is generating the LLDP frames we could change it
to use -00 or -03 and let the Linux bridge drop the -0E frames.

--Ed

On Mon, Oct 17, 2011 at 1:53 PM, Ross Brattain
<ross.b.brattain@intel.com> wrote:
> On Mon, 17 Oct 2011 07:35:53 -0700
> Ed Swierk <eswierk@bigswitch.com> wrote:
>
>> Why is forwarding LLDP (01-80-C2-00-00-0E) frames forbidden? I'm
>> testing LLDP in a virtual topology and need the bridge to forward
>> them.
>>
>> If we're worried about standards, there is justification for allowing
>> forwarding of LLDP frames. 802.1d-2005 specifies two classes of
>> bridge, customer (C-VLAN) and provider (S-VLAN). Customer bridge is
>> just new terminology for what was previously just called an
>> 802.1d-compliant bridge, while provider bridge is a new class that
>> transparently forwards certain control frames.
>
> 01-80-C2-00-00-0E should not pass the physical link.  If it does it will affect PFC 802.1Qbb and ETS 802.1Qaz.
>
> 802.1AB-2009 is more specific.  See Table 7-1 Group MAC addresses used by LLDP:
>
> Nearest bridge: 01-80-C2-00-00-0E
> Propagation constrained to a single physical link; stopped by all types of bridge
>
> Nearest non-TPMR bridge: 01-80-C2-00-00-03
> Propagation constrained by all bridges other than TPMRs; intended for use within provider bridged networks
>
> Nearest Customer Bridge: 01-80-C2-00-00-00
> Propagation constrained by customer bridges; this gives the same coverage as a customer-customer MACSec connection
>
>
> --
> Ross
>

^ permalink raw reply

* Re: [PATCH] net: ipv6: Allow netlink to set IPv6 address scope
From: Brian Haley @ 2011-10-17 21:32 UTC (permalink / raw)
  To: Lorenzo Colitti; +Cc: maze, yoshfuji, netdev
In-Reply-To: <CAKD1Yr0mnSM5EyVhJDPyq3Obe2WNiEjgQ=0uQ-r39Fg9WTsVmw@mail.gmail.com>

On 10/16/2011 10:26 PM, Lorenzo Colitti wrote:
> RFC 3879 deprecated site-local addresses because the were non-unique and thus
> ambiguous, and if they leak, they cause problems. This is not an issue
> in the use
> case I presented, because the addresses are syntactically global
> addresses - they
> just don't have global reachability.

Not very global then :(

>> The MIF problem statement (in the RFC editor's queue) talks about this problem,
>> http://tools.ietf.org/html/draft-ietf-mif-problem-statement-15 - perhaps it's
>> better to work there to develop a more generic solution (using DHCPv6, RA
>> options, etc) before making this change?
> 
> I don't think it's a good idea. Waiting for an IETF working group to
> produce a standard
> when it doesn't even have a problem statement finalized could take years.

It would be useful to give some input there, even if the Linux-specific
implementation of any standard plays with bits in the ifaddr.

> Is there another reason why we shouldn't enable userspace to do what it wants?

In my opinion it just feels like a hack, because things won't work when your
wifi attaches to a walled garden, or there's a third interface - who wins the
tiebreaker?

I do see your point that it will help with the problem you're trying to solve,
hopefully someone else will offer their opinion.

-Brian

^ permalink raw reply

* net [BUG-FIX][PATCH 1/1] udplite: fast-path computation of checksum coverage
From: Gerrit Renker @ 2011-10-17 21:34 UTC (permalink / raw)
  To: David S. Miller, netdev

Hi Dave,

can you please consider the fix below -- the checksum coverage in UDP-Lite had been broken for
over half a year; then reported by Thomas. I have tested the patch below in various scenarios
with IPv4 and IPv6, on localhost, and between multiple hosts.

Gerrit

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Patch <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

udplite: fast-path computation of checksum coverage

Commit 903ab86d195cca295379699299c5fc10beba31c7 of 1 March this year ("udp: Add
lockless transmit path") introduced a new fast TX path that broke the checksum
coverage computation of UDP-lite, which so far depended on up->len (only set
if the socket is locked and 0 in the fast path).

Fixed by providing both fast- and slow-path computation of checksum coverage.
The latter can be removed when UDP(-lite)v6 also uses a lockless transmit path.
 
Reported-by: Thomas Volkert <thomas@homer-conferencing.com>
Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
---
 include/net/udplite.h |   63 ++++++++++++++++++++++++--------------------------
 1 file changed, 31 insertions(+), 32 deletions(-)

--- a/include/net/udplite.h
+++ b/include/net/udplite.h
@@ -66,40 +66,34 @@ static inline int udplite_checksum_init(struct sk_buff *skb, struct udphdr *uh)
 	return 0;
 }
 
-static inline int udplite_sender_cscov(struct udp_sock *up, struct udphdr *uh)
+/* Slow-path computation of checksum. Socket is locked. */
+static inline __wsum udplite_csum_outgoing(struct sock *sk, struct sk_buff *skb)
 {
+	const struct udp_sock *up = udp_sk(skb->sk);
 	int cscov = up->len;
+	__wsum csum = 0;
 
-	/*
-	 * Sender has set `partial coverage' option on UDP-Lite socket
-	 */
-	if (up->pcflag & UDPLITE_SEND_CC)    {
+	if (up->pcflag & UDPLITE_SEND_CC) {
+		/*
+		 * Sender has set `partial coverage' option on UDP-Lite socket.
+		 * The special case "up->pcslen == 0" signifies full coverage.
+		 */
 		if (up->pcslen < up->len) {
-		/* up->pcslen == 0 means that full coverage is required,
-		 * partial coverage only if  0 < up->pcslen < up->len */
-			if (0 < up->pcslen) {
-			       cscov = up->pcslen;
-			}
-			uh->len = htons(up->pcslen);
+			if (0 < up->pcslen)
+				cscov = up->pcslen;
+			udp_hdr(skb)->len = htons(up->pcslen);
 		}
-	/*
-	 * NOTE: Causes for the error case  `up->pcslen > up->len':
-	 *        (i)  Application error (will not be penalized).
-	 *       (ii)  Payload too big for send buffer: data is split
-	 *             into several packets, each with its own header.
-	 *             In this case (e.g. last segment), coverage may
-	 *             exceed packet length.
-	 *       Since packets with coverage length > packet length are
-	 *       illegal, we fall back to the defaults here.
-	 */
+		/*
+		 * NOTE: Causes for the error case  `up->pcslen > up->len':
+		 *        (i)  Application error (will not be penalized).
+		 *       (ii)  Payload too big for send buffer: data is split
+		 *             into several packets, each with its own header.
+		 *             In this case (e.g. last segment), coverage may
+		 *             exceed packet length.
+		 *       Since packets with coverage length > packet length are
+		 *       illegal, we fall back to the defaults here.
+		 */
 	}
-	return cscov;
-}
-
-static inline __wsum udplite_csum_outgoing(struct sock *sk, struct sk_buff *skb)
-{
-	int cscov = udplite_sender_cscov(udp_sk(sk), udp_hdr(skb));
-	__wsum csum = 0;
 
 	skb->ip_summed = CHECKSUM_NONE;     /* no HW support for checksumming */
 
@@ -115,16 +109,21 @@ static inline __wsum udplite_csum_outgoing(struct sock *sk, struct sk_buff *skb)
 	return csum;
 }
 
+/* Fast-path computation of checksum. Socket may not be locked. */
 static inline __wsum udplite_csum(struct sk_buff *skb)
 {
-	struct sock *sk = skb->sk;
-	int cscov = udplite_sender_cscov(udp_sk(sk), udp_hdr(skb));
+	const struct udp_sock *up = udp_sk(skb->sk);
 	const int off = skb_transport_offset(skb);
-	const int len = skb->len - off;
+	int len = skb->len - off;
 
+	if ((up->pcflag & UDPLITE_SEND_CC) && up->pcslen < len) {
+		if (0 < up->pcslen)
+			len = up->pcslen;
+		udp_hdr(skb)->len = htons(up->pcslen);
+	}
 	skb->ip_summed = CHECKSUM_NONE;     /* no HW support for checksumming */
 
-	return skb_checksum(skb, off, min(cscov, len), 0);
+	return skb_checksum(skb, off, len, 0);
 }
 
 extern void	udplite4_register(void);

^ permalink raw reply

* Re: [PATCH] Disable TCP_DEBUG and FASTRETRANS_DEBUG by default
From: David Miller @ 2011-10-17 21:52 UTC (permalink / raw)
  To: dpmcgee; +Cc: netdev, kuznet, jmorris, yoshfuji, kaber, linux-kernel
In-Reply-To: <1318883125-29500-1-git-send-email-dpmcgee@gmail.com>

From: Dan McGee <dpmcgee@gmail.com>
Date: Mon, 17 Oct 2011 15:25:24 -0500

> If these are truly debug options, they should be turned off by default
> and can be tweaked if necessary. Fix one usage of the flag to use #if
> instead of #ifdef so defining to zero is acceptable.
> 
> Signed-off-by: Dan McGee <dpmcgee@gmail.com>

Illegal window shrinks are a serious issue, and the fact that everyone
will see those messages by default and sometimes report them has been
tremendously useful.

^ permalink raw reply

* [PATCH] net: change capability used by socket options IP{,V6}_TRANSPARENT
From: Maciej Żenczykowski @ 2011-10-17 22:16 UTC (permalink / raw)
  To: Maciej Żenczykowski
  Cc: netdev, Balazs Scheidler, Maciej Żenczykowski
In-Reply-To: <20110920.154213.888729603269720228.davem@redhat.com>

From: Maciej Żenczykowski <maze@google.com>

Up till now the IP{,V6}_TRANSPARENT socket options (which actually set
the same bit in the socket struct) have required CAP_NET_ADMIN
privileges to set or clear the option.

- we make clearing the bit not require any privileges.
- we deprecate using CAP_NET_ADMIN for this purpose.
- we allow CAP_NET_RAW to set this bit, because raw
  sockets already effectively allow you to emulate socket
  transparency.
- we print a warning (but allow it) if you try to set the socket
  option with CAP_NET_ADMIN privs, but without CAP_NET_RAW.

Signed-off-by: Maciej Żenczykowski <maze@google.com>
---
 include/linux/capability.h |    3 ++-
 net/ipv4/ip_sockglue.c     |   20 ++++++++++++++++----
 net/ipv6/ipv6_sockglue.c   |   23 ++++++++++++++++++-----
 3 files changed, 36 insertions(+), 10 deletions(-)

diff --git a/include/linux/capability.h b/include/linux/capability.h
index c421123..ce34ae3 100644
--- a/include/linux/capability.h
+++ b/include/linux/capability.h
@@ -198,7 +198,7 @@ struct cpu_vfs_cap_data {
 /* Allow modification of routing tables */
 /* Allow setting arbitrary process / process group ownership on
    sockets */
-/* Allow binding to any address for transparent proxying */
+/* Allow binding to any address for transparent proxying (deprecated) */
 /* Allow setting TOS (type of service) */
 /* Allow setting promiscuous mode */
 /* Allow clearing driver statistics */
@@ -210,6 +210,7 @@ struct cpu_vfs_cap_data {
 
 /* Allow use of RAW sockets */
 /* Allow use of PACKET sockets */
+/* Allow binding to any address for transparent proxying */
 
 #define CAP_NET_RAW          13
 
diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c
index 8905e92..74f7d30 100644
--- a/net/ipv4/ip_sockglue.c
+++ b/net/ipv4/ip_sockglue.c
@@ -961,12 +961,24 @@ mc_msf_out:
 		break;
 
 	case IP_TRANSPARENT:
-		if (!capable(CAP_NET_ADMIN)) {
-			err = -EPERM;
-			break;
-		}
 		if (optlen < 1)
 			goto e_inval;
+		/* Always allow clearing the transparent proxy socket option.
+		 * The pre-3.2 permission for setting this was CAP_NET_ADMIN,
+		 * and this is still supported - but deprecated.  As of Linux
+		 * 3.2 the proper permission is CAP_NET_RAW.
+		 */
+		if (!!val && !capable(CAP_NET_RAW)) {
+			if (!capable(CAP_NET_ADMIN)) {
+				err = -EPERM;
+				break;
+			}
+			printk_once(KERN_WARNING "%s (%d): "
+				 "deprecated: attempt to set socket option "
+				 "IP_TRANSPARENT with CAP_NET_ADMIN but "
+				 "without CAP_NET_RAW.\n",
+				 current->comm, task_pid_nr(current));
+		}
 		inet->transparent = !!val;
 		break;
 
diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c
index 2fbda5f..7c4f5ce 100644
--- a/net/ipv6/ipv6_sockglue.c
+++ b/net/ipv6/ipv6_sockglue.c
@@ -343,13 +343,26 @@ static int do_ipv6_setsockopt(struct sock *sk, int level, int optname,
 		break;
 
 	case IPV6_TRANSPARENT:
-		if (!capable(CAP_NET_ADMIN)) {
-			retv = -EPERM;
-			break;
-		}
 		if (optlen < sizeof(int))
 			goto e_inval;
-		/* we don't have a separate transparent bit for IPV6 we use the one in the IPv4 socket */
+		/* Always allow clearing the transparent proxy socket option.
+		 * The pre-3.2 permission for setting this was CAP_NET_ADMIN,
+		 * and this is still supported - but deprecated.  As of Linux
+		 * 3.2 the proper permission is CAP_NET_RAW.
+		 */
+		if (valbool && !capable(CAP_NET_RAW)) {
+			if (!capable(CAP_NET_ADMIN)) {
+				retv = -EPERM;
+				break;
+			}
+			printk_once(KERN_WARNING "%s (%d): "
+				 "deprecated: attempt to set socket option "
+				 "IPV6_TRANSPARENT with CAP_NET_ADMIN but "
+				 "without CAP_NET_RAW.\n",
+				 current->comm, task_pid_nr(current));
+		}
+		/* we don't have a separate transparent bit for IPv6,
+		 * so we just use the one in the IPv4 socket */
 		inet_sk(sk)->transparent = valbool;
 		retv = 0;
 		break;
-- 
1.7.3.1

^ permalink raw reply related

* BUG in skb_pull with e1000e, PPTP, and L2TP
From: Bradley Peterson @ 2011-10-17 22:19 UTC (permalink / raw)
  To: netdev; +Cc: e1000-devel, Bruce Allan, Jesse Brandeburg, John Ronciak

I have servers running as PPTP and L2TP/IPSec endpoints.  They run
other services, but the VPN endpoints seem to be the problem (the
problem goes away when VPN is disabled).  The servers that are using
the e1000e driver crash with "kernel BUG at
include/linux/skbuff.h:1186!" using linux 2.6.38.  I saw a similar BUG
in the same function on 2.6.22, with both e1000e and igb, using 3rd
party pptp and l2tp modules.  I have other servers, running tg3 and
forcedeth drivers, which don't have this crash.

I can't reproduce the BUG in my development, and it happens randomly
in production.  So, testing is difficult.  I'm working on testing with
3.0 next.

Here are 3 separate instances of the crash.  The traces are different,
but the BUG is always the same.

Thanks for any pointers or help,
Bradley Peterson

[32173.294224] ------------[ cut here ]------------
[32173.298873] kernel BUG at include/linux/skbuff.h:1186!
[32173.304029] invalid opcode: 0000 [#1] SMP
[32173.308184] last sysfs file:
/sys/devices/system/cpu/cpu7/cache/index2/shared_cpu_map
[32173.316039] CPU 1
[32173.317891] Modules linked in: authenc esp4 xfrm4_mode_transport
arc4 ppp_mppe tcp_diag inet_diag xt_NOTRACK iptable_raw pptp gre
l2tp_ppp pppox ppp_generic slhc l2tp_netlink l
2tp_core tun deflate zlib_deflate twofish_generic twofish_x86_64
twofish_common camellia serpent blowfish cast5 des_generic xcbc rmd160
sha512_generic sha256_generic crypto_null a
f_key iptable_nat nf_nat xt_mark iptable_mangle bonding 8021q garp stp
llc ipv6 sp5100_tco i2c_piix4 i2c_core e1000e amd64_edac_mod serio_raw
ghes microcode k10temp edac_core hed
edac_mce_amd raid456 async_raid6_recov async_pq raid6_pq async_xor xor
async_memcpy async_tx raid1 pata_acpi firewire_ohci ata_generic
firewire_core crc_itu_t pata_atiixp 3w_9xxx
[last unloaded: scsi_wait_scan]
[32173.385465]
[32173.386965] Pid: 0, comm: kworker/0:0 Not tainted
2.6.38.8-32.1.fix.fc14.x86_64 #1 SGI.COM System Product
Name/KGP(M)E-D16
[32173.398135] RIP: 0010:[<ffffffff813d2f0d>]  [<ffffffff813d2f0d>]
__skb_pull258]  [<ffffffff81410846>] NF_HOOK.clone.7+0x51/0x58
[32173.588842]  [<ffffffff81410bb5>] ip_rcv+0x21b/0x246
[32173.593816]  [<ffffffff813dd584>] __netif_receive_skb+0x426/0x45c
[32173.599925]  [<ffffffff81053443>] ? select_task_rq_fair+0x57a/0x57f
[32173.606225]  [<ffffffff813da220>] ? arch_local_irq_save+0x16/0x1c
[32173.612337]  [<ffffffff813dd495>] __netif_receive_skb+0x337/0x45c
[32173.618450]  [<ffffffff810482c7>] ? check_preempt_curr+0x45/0x70
[32173.624478]  [<ffffffff8104baa0>] ? ttwu_post_activation+0x60/0xf9
[32173.630669]  [<ffffffff813dd641>] process_backlog+0x87/0x15d
[32173.636351]  [<ffffffff8148982f>] ? _raw_spin_unlock_irqrestore+0x17/0x19
[32173.643165]  [<ffffffff813de528>] net_rx_action+0xac/0x1b1
[32173.648675]  [<ffffffff8105efaa>] __do_softirq+0xd2/0x19e
[32173.654082]  [<ffffffff81010fad>] ? paravirt_read_tsc+0x9/0xd
[32173.659850]  [<ffffffff810114d6>] ? sched_clock+0x9/0xd
[32173.665082]  [<ffffffff8100bb5c>] call_softirq+0x1c/0x30
[32173.670417]  [<ffffffff8100d287>] do_softirq+0x46/0x83
[32173.675565]  [<ffffffff8105f132>] irq_exit+0x49/0x8b
[32173.680547]  [<ffffffff81022b66>]
smp_call_function_single_interrupt+0x25/0x27
[32173.687786]  [<ffffffff8100b7b3>] call_function_single_interrupt+0x13/0x20
[32173.694662]  <EOI>
[32173.696798]  [<ffffffff8102c61d>] ? native_safe_halt+0xb/0xd
[32173.702508]  [<ffffffff81011fac>] ? need_resched+0x23/0x2d
[32173.708005]  [<ffffffff810120fa>] default_idle+0x4e/0x86
[32173.713345]  [<ffffffff8100932a>] cpu_idle+0xaa/0xcc
[32173.718339]  [<ffffffff81482062>] start_secondary+0x20d/0x20f
[32173.724092] Code: 68 2b b7 d8 00 00 00 03 b7 e0 00 00 00 89 b7 cc
00 00 00 c9 c3 55 48 89 e5 66 66 66 66 90 8b 57 68 29 f2 3b 57 6c 89
57 68 73 02 <0f> 0b 89 f0 48 03 87 e0 00
00 00 48 89 87 e0 00 00 00 c9 c3 55
[32173.744370] RIP  [<ffffffff813d2f0d>] __skb_pull+0x16/0x2a
[32173.749920]  RSP <ffff8800dfa23b80>
[32173.753820] ---[ end trace 83b8ebd5dde8ff41 ]---





[16165.077006] ------------[ cut here ]------------
[16165.077936] kernel BUG at include/linux/skbuff.h:1186!
[16165.082856] invalid opcode: 0000 [#1] SMP
[16165.082856] last sysfs file:
/sys/devices/virtual/net/ppp29/queues/rx-0/rps_flow_cnt
[16165.095731] CPU 1
[16165.095731] Modules linked in: arc4 ppp_mppe tcp_diag inet_diag
xt_NOTRACK iptable_raw pptp gre l2tp_ppp pppox ppp_generic slhc
l2tp_netlink l2tp_core tun deflate zlib_deflate
twofish_generic twofish_x86_64 twofish_common camellia serpent
blowfish cast5 des_generic xcbc rmd160 sha512_generic sha256_generic
crypto_null af_key iptable_nat nf_nat xt_mark i
ptable_mangle bonding 8021q garp stp llc ipv6 sp5100_tco e1000e
k10temp i2c_piix4 amd64_edac_mod i2c_core edac_core ghes hed
edac_mce_amd microcode serio_raw raid456 async_raid6_r
ecov async_pq raid6_pq async_xor xor async_memcpy async_tx raid1
pata_acpi firewire_ohci ata_generic firewire_core crc_itu_t
pata_atiixp 3w_9xxx [last unloaded: scsi_wait_scan]
[16165.163315]
[16165.163315] Pid: 0, comm: kworker/0:0 Not tainted
2.6.38.8-32.1.fix.fc14.x86_64 #1 SGI.COM System Product
Name/KGP(M)E-D16
[16165.163315] RIP: 0010:[<ffffffff813d2f0d>]  [<ffffffff813d2f0d>]
__skb_pull+0x16/0x2a
[16165.163315] RSP: 0018:ffff8800dfa23b80  EFLAGS: 00010287
[16165.163315] RAX: 0000000000000000 RBX: ffff880141cec000 RCX: 000000000000005c
[16165.196875] RDX: 000000000000057f RSI: 0000000000000010 RDI: ffff880141cec000
[16165.203325] RBP: ffff8800dfa23b80 R08: 00000000ff34033f R09: 0000000000000000
[1616165.384622]  [<ffffffff8104a480>] ? update_shares+0xb7/0xf4
[16165.394969]  [<ffffffff813dd641>] process_backlog+0x87/0x15d
[16165.394969]  [<ffffffff81489816>] ? _raw_spin_lock_irq+0x1f/0x21
[16165.405933]  [<ffffffff813de528>] net_rx_action+0xac/0x1b1
[16165.410153]  [<ffffffff8105efaa>] __do_softirq+0xd2/0x19e
[16165.410153]  [<ffffffff81010fad>] ? paravirt_read_tsc+0x9/0xd
[16165.410153]  [<ffffffff810114d6>] ? sched_clock+0x9/0xd
[16165.410153]  [<ffffffff8100bb5c>] call_softirq+0x1c/0x30
[16165.410153]  [<ffffffff8100d287>] do_softirq+0x46/0x83
[16165.410153]  [<ffffffff8105f132>] irq_exit+0x49/0x8b
[16165.410153]  [<ffffffff81022b66>]
smp_call_function_single_interrupt+0x25/0x27
[16165.447293]  [<ffffffff8100b7b3>] call_function_single_interrupt+0x13/0x20
[16165.447293]  <EOI>
[16165.459948]  [<ffffffff810b8394>] ? rcu_needs_cpu+0x10e/0x1bf
[16165.465027]  [<ffffffff8102c61d>] ? native_safe_halt+0xb/0xd
[16165.470461]  [<ffffffff81011fac>] ? need_resched+0x23/0x2d
[16165.477519]  [<ffffffff810120fa>] default_idle+0x4e/0x86
[16165.477974]  [<ffffffff8100932a>] cpu_idle+0xaa/0xcc
[16165.477974]  [<ffffffff81482062>] start_secondary+0x20d/0x20f
[16165.477974] Code: 68 2b b7 d8 00 00 00 03 b7 e0 00 00 00 89 b7 cc
00 00 00 c9 c3 55 48 89 e5 66 66 66 66 90 8b 57 68 29 f2 3b 57 6c 89
57 68 73 02 <0f> 0b 89 f0 48 03 87 e0 00
00 00 48 89 87 e0 00 00 00 c9 c3 55
[16165.477974] RIP  [<ffffffff813d2f0d>] __skb_pull+0x16/0x2a
[16165.477974]  RSP <ffff8800dfa23b80>
[16165.523203] ---[ end trace f793f200ecc5d20f ]---





[17950.922006] ------------[ cut here ]------------
[17950.922941] kernel BUG at include/linux/skbuff.h:1186!
[17950.928042] invalid opcode: 0000 [#1] SMP
[17950.928042] last sysfs file:
/sys/devices/system/cpu/cpu7/cache/index2/shared_cpu_map
[17950.943036] CPU 7
[17950.943036] Modules linked in: authenc esp4 xfrm4_mode_transport
tcp_diag inet_diag xt_NOTRACK iptable_raw arc4 ppp_mppe pptp gre
l2tp_ppp pppox ppp_generic slhc l2tp_netlink l
2tp_core tun deflate zlib_deflate twofish_generic twofish_x86_64
twofish_common camellia serpent blowfish cast5 des_generic xcbc rmd160
sha512_generic sha256_generic crypto_null a
f_key iptable_nat nf_nat xt_mark iptable_mangle bonding 8021q garp stp
llc ipv6 e1000e sp5100_tco i2c_piix4 k10temp i2c_core amd64_edac_mod
ghes edac_core hed serio_raw edac_mce_a
md microcode raid456 async_raid6_recov async_pq raid6_pq async_xor xor
async_memcpy async_tx raid1 pata_acpi ata_generic firewire_ohci
firewire_core crc_itu_t pata_atiixp 3w_9xxx
[last unloaded: scsi_wait_scan]
[17950.969223]
[17950.969223] Pid: 0, comm: kworker/0:1 Not tainted
2.6.38.8-32.1.fix.fc14.x86_64 #1 SGI.COM System Product
Name/KGP(M)E-D16
[17950.969223] RIP: 0010:[<ffffffff813d2f0d>]  [<ffffffff813d2f0d>]
__skb_pull+0x16/0x2a
[17950.969223] RSP: 0018:ffff8800dfae3b80  EFLAGS: 00010287
[17950.969223] RAX: 0000000000000000 RBX: ffff88017089f600 RCX: 0000000000000221
[17951.040852] RDX: 000000000000057f RSI: 0000000000000010 RDI: ffff88017089f600
[17951.050257] RBP: ffff8800dfae3b80 R08: 0000000000000000 R09: ffff8800dfae39c0
[17951.050257] R10: ffff88020e362758 R11: ffff880200000001 R12: ffff8800b31eac00
[17951.050257] R13: ffff88013ba2cc72 R14: ffffffffa0280230 R15: ffff880208362000
[17951.050257] FS:  00007fb9a3fee7e0(0000) GS:ffff8800dfae0000(0000)
knlGS:0000000000000000
[17951.080066] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[17951.087033] CR2: 00007ffb65c2e000 CR3: 000000014ab0a000 CR4: 00000000000006e0
[17951.087033] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[17951.100032] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[17951.108481] Process kworker/0:1 (pid: 0, threadinfo
ffff88020f60e000, task ffff88020f611730)
[17951.117822] Stack:
[17951.119564]  ffff8800dfae3b90 ffffffff813d2f36 ffff8800dfae3bc0
ffffffffa0286824
[17951.121222]  ffff8800dfae3bf0 ffff8800b31eac00 ffff88017089f600
0000000000000000
[17951.121222]  ffff8800dfae3c00 ffffffff813d17c4 0000000000000000
0000000000000000
[17951.121222] Call Trace:
[17951.142737]  <IRQ>
[17951.142737]  [<ffffffff813d2f36>] skb_pull+0x15/0x17
[17951.142737]  [<ffffffffa0286824>] pptp_rcv_core+0x126/0x19a [pptp]
[17951.152725]  [<ffffffff813d17c4>] sk_receive_skb+0x69/0x105
[17951.163558]  [<ffffffffa0286993>] pptp_rcv+0xc8/0xdc [pptp]
[17951.165092]  [<ffffffffa02800a3>] gre_rcv+0x62/0x75 [gre]
[17951.165092]  [<ffffffff81410784>] ip_local_deliver_finish+0x150/0x1c1
[17951.177599]  [<ffffffff81410634>] ? ip_local_deliver_finish+0x0/0x1c1
[17951.177599]  [<ffffffff81410846>] NF_HOOK.clone.7+0x51/0x58
[17951.177599]  [<ffffffff81410996>] ip_local_deliver+0x51/0x55
[17951.177599]  [<ffffffff814105b9>] ip_rcv_finish+0x31a/0x33e
[17951.177599]  [<ffffffff8141029f>] ? ip_rcv_finish+0x0/0x33e
[17951.204898]  [<ffffffff81410846>] NF_HOOK.clone.7+0x51/0x58
[17951.214651]  [<ffffffff81410bb5>] ip_rcv+0x21b/0x246
[17951.219683]  [<ffffffff813dd584>] __netif_receive_skb+0x426/0x45c
[17951.219683]  [<ffffffff813da220>] ? arch_local_irq_save+0x16/0x1c
[17951.219683]  [<ffffffff813dd495>] __netif_receive_skb+0x337/0x45c
[17951.234702]  [<ffffffff81022954>] ?
native_send_call_func_single_ipi+0x23/0x25
[17951.245864]  [<ffffffff813dd641>] process_backlog+0x87/0x15d
[17951.247180]  [<ffffffff8123f315>] ? timerqueue_add+0x89/0xa8
[17951.257133]  [<ffffffff813de528>] net_rx_action+0xac/0x1b1
[17951.262265]  [<ffffffff8105efaa>] __do_softirq+0xd2/0x19e
[17951.265220]  [<ffffffff81010fad>] ? paravirt_read_tsc+0x9/0xd
[17951.273703]  [<ffffffff810114d6>] ? sched_clock+0x9/0xd
[17951.274966]  [<ffffffff8100bb5c>] call_softirq+0x1c/0x30
[17951.274966]  [<ffffffff8100d287>] do_softirq+0x46/0x83
[17951.274966]  [<ffffffff8105f132>] irq_exit+0x49/0x8b
[17951.274966]  [<ffffffff81022b66>]
smp_call_function_single_interrupt+0x25/0x27
[17951.274966]  [<ffffffff8100b7b3>] call_function_single_interrupt+0x13/0x20
[17951.274966]  <EOI>
[17951.274966]  [<ffffffff8102c61d>] ? native_safe_halt+0xb/0xd
[17951.274966]  [<ffffffff81011fac>] ? need_resched+0x23/0x2d
[17951.320741]  [<ffffffff810120fa>] default_idle+0x4e/0x86
[17951.320741]  [<ffffffff8100932a>] cpu_idle+0xaa/0xcc
[17951.320741]  [<ffffffff81482062>] start_secondary+0x20d/0x20f
[17951.320741] Code: 68 2b b7 d8 00 00 00 03 b7 e0 00 00 00 89 b7 cc
00 00 00 c9 c3 55 48 89 e5 66 66 66 66 90 8b 57 68 29 f2 3b 57 6c 89
57 68 73 02 <0f> 0b 89 f0 48 03 87 e0 00
00 00 48 89 87 e0 00 00 00 c9 c3 55
[17951.352436] RIP  [<ffffffff813d2f0d>] __skb_pull+0x16/0x2a
[17951.352436]  RSP <ffff8800dfae3b80>
[17951.367951] ---[ end trace af7b2da986dde7ca ]---

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2d-oct
_______________________________________________
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] net: change capability used by socket options IP{,V6}_TRANSPARENT
From: Maciej Żenczykowski @ 2011-10-17 22:19 UTC (permalink / raw)
  To: Maciej Żenczykowski; +Cc: netdev, Balazs Scheidler
In-Reply-To: <1318889783-23183-1-git-send-email-zenczykowski@gmail.com>

I still think we need a more precise permission for this, but possibly
not quite as specific as a separate capability just for transparent.
Maybe RAW should be split into RAW_READ (eavesdropping) and RAW_WRITE (spoof).

Either way, I'll leave that for another day.

-- 
Maciej A. Żenczykowski
Kernel Networking Developer @ Google

^ permalink raw reply

* [PATCH 0/7] mlx4_en: Data path optimizations and bug fix.
From: Yevgeny Petrilin @ 2011-10-17 20:16 UTC (permalink / raw)
  To: davem; +Cc: netdev, yevgenyp

Hello Dave,

This series of patches presents a bug fix (VLAN table overflow),
some alignment optimizations for better HW performance, RXHASH support.
Updated driver version.

Patches are generated against net-next tree.


 drivers/net/ethernet/mellanox/mlx4/en_netdev.c |    2 -
 drivers/net/ethernet/mellanox/mlx4/en_port.c   |    6 ++++
 drivers/net/ethernet/mellanox/mlx4/en_rx.c     |   32 +++++++++++++++----------
 drivers/net/ethernet/mellanox/mlx4/en_tx.c     |    2 -
 drivers/net/ethernet/mellanox/mlx4/fw.c        |    1
 drivers/net/ethernet/mellanox/mlx4/mlx4_en.h   |    9 ++++---
 drivers/net/ethernet/mellanox/mlx4/port.c      |   15 ++++++-----
 include/linux/mlx4/device.h                    |    1
 8 files changed, 44 insertions(+), 24 deletions(-)


Thanks,
Yevgeny

^ permalink raw reply

* [PATCH 1/7] mlx4: Fix vlan table overflow
From: Yevgeny Petrilin @ 2011-10-17 20:16 UTC (permalink / raw)
  To: davem; +Cc: netdev, yevgenyp


Prevent overflow when trying to register more Vlans then the Vlan table in
HW is configured to.
Need to take into account that the first 2 entries are reserved.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
---
 drivers/net/ethernet/mellanox/mlx4/port.c |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx4/port.c b/drivers/net/ethernet/mellanox/mlx4/port.c
index 609e0ec..163a314 100644
--- a/drivers/net/ethernet/mellanox/mlx4/port.c
+++ b/drivers/net/ethernet/mellanox/mlx4/port.c
@@ -65,7 +65,7 @@ void mlx4_init_vlan_table(struct mlx4_dev *dev, struct mlx4_vlan_table *table)
 		table->entries[i] = 0;
 		table->refs[i]	 = 0;
 	}
-	table->max   = 1 << dev->caps.log_num_vlans;
+	table->max   = (1 << dev->caps.log_num_vlans) - MLX4_VLAN_REGULAR;
 	table->total = 0;
 }
 
@@ -354,6 +354,13 @@ int mlx4_register_vlan(struct mlx4_dev *dev, u8 port, u16 vlan, int *index)
 	int free = -1;
 
 	mutex_lock(&table->mutex);
+
+	if (table->total == table->max) {
+		/* No free vlan entries */
+		err = -ENOSPC;
+		goto out;
+	}
+
 	for (i = MLX4_VLAN_REGULAR; i < MLX4_MAX_VLAN_NUM; i++) {
 		if (free < 0 && (table->refs[i] == 0)) {
 			free = i;
@@ -375,12 +382,6 @@ int mlx4_register_vlan(struct mlx4_dev *dev, u8 port, u16 vlan, int *index)
 		goto out;
 	}
 
-	if (table->total == table->max) {
-		/* No free vlan entries */
-		err = -ENOSPC;
-		goto out;
-	}
-
 	/* Register new MAC */
 	table->refs[free] = 1;
 	table->entries[free] = cpu_to_be32(vlan | MLX4_VLAN_VALID);
-- 
1.7.7

^ permalink raw reply related

* [PATCH 2/7] mlx4_en: Controlling FCS header removal
From: Yevgeny Petrilin @ 2011-10-17 20:17 UTC (permalink / raw)
  To: davem; +Cc: netdev, yevgenyp


Canceling FCS removal where FW allows for better alignment
of incoming data.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
---
 drivers/net/ethernet/mellanox/mlx4/en_rx.c |    4 ++++
 drivers/net/ethernet/mellanox/mlx4/fw.c    |    1 +
 include/linux/mlx4/device.h                |    1 +
 3 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
index 37cc9e5..fbf1dcf 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
@@ -806,6 +806,10 @@ static int mlx4_en_config_rss_qp(struct mlx4_en_priv *priv, int qpn,
 				qpn, ring->cqn, context);
 	context->db_rec_addr = cpu_to_be64(ring->wqres.db.dma);
 
+	/* Cancel FCS removal if FW allows */
+	if (mdev->dev->caps.flags & MLX4_DEV_CAP_FLAG_FCS_KEEP)
+		context->param3 |= cpu_to_be32(1 << 29);
+
 	err = mlx4_qp_to_ready(mdev->dev, &ring->wqres.mtt, context, qp, state);
 	if (err) {
 		mlx4_qp_remove(mdev->dev, qp);
diff --git a/drivers/net/ethernet/mellanox/mlx4/fw.c b/drivers/net/ethernet/mellanox/mlx4/fw.c
index 7eb8ba8..ed452dd 100644
--- a/drivers/net/ethernet/mellanox/mlx4/fw.c
+++ b/drivers/net/ethernet/mellanox/mlx4/fw.c
@@ -101,6 +101,7 @@ static void dump_dev_cap_flags(struct mlx4_dev *dev, u64 flags)
 		[25] = "Router support",
 		[30] = "IBoE support",
 		[32] = "Unicast loopback support",
+		[34] = "FCS header control",
 		[38] = "Wake On LAN support",
 		[40] = "UDP RSS support",
 		[41] = "Unicast VEP steering support",
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h
index 53ef894..2366f94 100644
--- a/include/linux/mlx4/device.h
+++ b/include/linux/mlx4/device.h
@@ -75,6 +75,7 @@ enum {
 	MLX4_DEV_CAP_FLAG_UD_MCAST	= 1LL << 21,
 	MLX4_DEV_CAP_FLAG_IBOE		= 1LL << 30,
 	MLX4_DEV_CAP_FLAG_UC_LOOPBACK	= 1LL << 32,
+	MLX4_DEV_CAP_FLAG_FCS_KEEP	= 1LL << 34,
 	MLX4_DEV_CAP_FLAG_WOL		= 1LL << 38,
 	MLX4_DEV_CAP_FLAG_UDP_RSS	= 1LL << 40,
 	MLX4_DEV_CAP_FLAG_VEP_UC_STEER	= 1LL << 41,
-- 
1.7.7

^ permalink raw reply related

* [PATCH 3/7] mlx4_en: Incoming traffic alignment optimizations
From: Yevgeny Petrilin @ 2011-10-17 20:17 UTC (permalink / raw)
  To: davem; +Cc: netdev, yevgenyp


Packet headers are copied to skb linear part (which is IP aligned), so there is no reason for
the scatter entry to be IP aligned.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
---
 drivers/net/ethernet/mellanox/mlx4/en_rx.c   |   12 +++---------
 drivers/net/ethernet/mellanox/mlx4/mlx4_en.h |    2 +-
 2 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
index fbf1dcf..8ae1eb5 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
@@ -744,15 +744,9 @@ void mlx4_en_calc_rx_buf(struct net_device *dev)
 			(eff_mtu > buf_size + frag_sizes[i]) ?
 				frag_sizes[i] : eff_mtu - buf_size;
 		priv->frag_info[i].frag_prefix_size = buf_size;
-		if (!i)	{
-			priv->frag_info[i].frag_align = NET_IP_ALIGN;
-			priv->frag_info[i].frag_stride =
-				ALIGN(frag_sizes[i] + NET_IP_ALIGN, SMP_CACHE_BYTES);
-		} else {
-			priv->frag_info[i].frag_align = 0;
-			priv->frag_info[i].frag_stride =
-				ALIGN(frag_sizes[i], SMP_CACHE_BYTES);
-		}
+		priv->frag_info[i].frag_align = 0;
+		priv->frag_info[i].frag_stride =
+			ALIGN(frag_sizes[i], SMP_CACHE_BYTES);
 		priv->frag_info[i].last_offset = mlx4_en_last_alloc_offset(
 						priv, priv->frag_info[i].frag_stride,
 						priv->frag_info[i].frag_align);
diff --git a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
index 3b753f7..013cda2 100644
--- a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
+++ b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
@@ -91,7 +91,7 @@
 /* Receive fragment sizes; we use at most 4 fragments (for 9600 byte MTU
  * and 4K allocations) */
 enum {
-	FRAG_SZ0 = 512 - NET_IP_ALIGN,
+	FRAG_SZ0 = 2048,
 	FRAG_SZ1 = 1024,
 	FRAG_SZ2 = 4096,
 	FRAG_SZ3 = MLX4_EN_ALLOC_SIZE
-- 
1.7.7

^ permalink raw reply related

* [PATCH 4/7] mlx4_en: Checksum counters per ring
From: Yevgeny Petrilin @ 2011-10-17 20:17 UTC (permalink / raw)
  To: davem; +Cc: netdev, yevgenyp


Not updating common counters from data path.
The checksum counters are per ring, summarizing them when collecting statistics.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
---
 drivers/net/ethernet/mellanox/mlx4/en_port.c |    6 ++++++
 drivers/net/ethernet/mellanox/mlx4/en_rx.c   |    6 +++---
 drivers/net/ethernet/mellanox/mlx4/en_tx.c   |    2 +-
 drivers/net/ethernet/mellanox/mlx4/mlx4_en.h |    3 +++
 4 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx4/en_port.c b/drivers/net/ethernet/mellanox/mlx4/en_port.c
index 9d27555..03c84cd 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_port.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_port.c
@@ -214,15 +214,21 @@ int mlx4_en_DUMP_ETH_STATS(struct mlx4_en_dev *mdev, u8 port, u8 reset)
 
 	stats->rx_packets = 0;
 	stats->rx_bytes = 0;
+	priv->port_stats.rx_chksum_good = 0;
+	priv->port_stats.rx_chksum_none = 0;
 	for (i = 0; i < priv->rx_ring_num; i++) {
 		stats->rx_packets += priv->rx_ring[i].packets;
 		stats->rx_bytes += priv->rx_ring[i].bytes;
+		priv->port_stats.rx_chksum_good += priv->rx_ring[i].csum_ok;
+		priv->port_stats.rx_chksum_none += priv->rx_ring[i].csum_none;
 	}
 	stats->tx_packets = 0;
 	stats->tx_bytes = 0;
+	priv->port_stats.tx_chksum_offload = 0;
 	for (i = 0; i < priv->tx_ring_num; i++) {
 		stats->tx_packets += priv->tx_ring[i].packets;
 		stats->tx_bytes += priv->tx_ring[i].bytes;
+		priv->port_stats.tx_chksum_offload += priv->tx_ring[i].tx_csum;
 	}
 
 	stats->rx_errors = be64_to_cpu(mlx4_en_stats->PCS) +
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
index 8ae1eb5..45b1a3d 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
@@ -587,7 +587,7 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud
 		if (likely(dev->features & NETIF_F_RXCSUM)) {
 			if ((cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPOK)) &&
 			    (cqe->checksum == cpu_to_be16(0xffff))) {
-				priv->port_stats.rx_chksum_good++;
+				ring->csum_ok++;
 				/* This packet is eligible for LRO if it is:
 				 * - DIX Ethernet (type interpretation)
 				 * - TCP/IP (v4)
@@ -627,11 +627,11 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud
 				ip_summed = CHECKSUM_UNNECESSARY;
 			} else {
 				ip_summed = CHECKSUM_NONE;
-				priv->port_stats.rx_chksum_none++;
+				ring->csum_none++;
 			}
 		} else {
 			ip_summed = CHECKSUM_NONE;
-			priv->port_stats.rx_chksum_none++;
+			ring->csum_none++;
 		}
 
 		skb = mlx4_en_rx_skb(priv, rx_desc, skb_frags,
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_tx.c b/drivers/net/ethernet/mellanox/mlx4/en_tx.c
index 6e03de0..f199460 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_tx.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_tx.c
@@ -695,7 +695,7 @@ netdev_tx_t mlx4_en_xmit(struct sk_buff *skb, struct net_device *dev)
 	if (likely(skb->ip_summed == CHECKSUM_PARTIAL)) {
 		tx_desc->ctrl.srcrb_flags |= cpu_to_be32(MLX4_WQE_CTRL_IP_CSUM |
 							 MLX4_WQE_CTRL_TCP_UDP_CSUM);
-		priv->port_stats.tx_chksum_offload++;
+		ring->tx_csum++;
 	}
 
 	if (unlikely(priv->validate_loopback)) {
diff --git a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
index 013cda2..89fb57c 100644
--- a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
+++ b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
@@ -249,6 +249,7 @@ struct mlx4_en_tx_ring {
 	struct mlx4_srq dummy;
 	unsigned long bytes;
 	unsigned long packets;
+	unsigned long tx_csum;
 	spinlock_t comp_lock;
 	struct mlx4_bf bf;
 	bool bf_enabled;
@@ -275,6 +276,8 @@ struct mlx4_en_rx_ring {
 	void *rx_info;
 	unsigned long bytes;
 	unsigned long packets;
+	unsigned long csum_ok;
+	unsigned long csum_none;
 };
 
 
-- 
1.7.7

^ permalink raw reply related

* [PATCH 5/7] mlx4_en: Recording rx queue for gro packets
From: Yevgeny Petrilin @ 2011-10-17 20:18 UTC (permalink / raw)
  To: davem; +Cc: netdev, yevgenyp


Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
---
 drivers/net/ethernet/mellanox/mlx4/en_rx.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
index 45b1a3d..f42c7a6 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
@@ -618,6 +618,7 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud
 						__vlan_hwaccel_put_tag(gro_skb, vid);
 					}
 
+					skb_record_rx_queue(gro_skb, cq->ring);
 					napi_gro_frags(&cq->napi);
 
 					goto next;
-- 
1.7.7

^ permalink raw reply related

* [PATCH 6/7] mlx4_en: Adding rxhash support
From: Yevgeny Petrilin @ 2011-10-17 20:18 UTC (permalink / raw)
  To: davem; +Cc: netdev, yevgenyp


Moving to Toeplitz function in RSS calculation.
Reporting rxhash in skb.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
---
 drivers/net/ethernet/mellanox/mlx4/en_netdev.c |    2 +-
 drivers/net/ethernet/mellanox/mlx4/en_rx.c     |    9 +++++++++
 2 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
index c4c4be4..78d776b 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
@@ -1084,7 +1084,7 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port,
 
 	dev->vlan_features = dev->hw_features;
 
-	dev->hw_features |= NETIF_F_RXCSUM;
+	dev->hw_features |= NETIF_F_RXCSUM | NETIF_F_RXHASH;
 	dev->features = dev->hw_features | NETIF_F_HIGHDMA |
 			NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX |
 			NETIF_F_HW_VLAN_FILTER;
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
index f42c7a6..ae5feed 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
@@ -618,6 +618,9 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud
 						__vlan_hwaccel_put_tag(gro_skb, vid);
 					}
 
+					if (dev->features & NETIF_F_RXHASH)
+						gro_skb->rxhash = be32_to_cpu(cqe->immed_rss_invalid);
+
 					skb_record_rx_queue(gro_skb, cq->ring);
 					napi_gro_frags(&cq->napi);
 
@@ -651,6 +654,9 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud
 		skb->protocol = eth_type_trans(skb, dev);
 		skb_record_rx_queue(skb, cq->ring);
 
+		if (dev->features & NETIF_F_RXHASH)
+			skb->rxhash = be32_to_cpu(cqe->immed_rss_invalid);
+
 		if (be32_to_cpu(cqe->vlan_my_qpn) &
 		    MLX4_CQE_VLAN_PRESENT_MASK)
 			__vlan_hwaccel_put_tag(skb, be16_to_cpu(cqe->sl_vid));
@@ -865,6 +871,9 @@ int mlx4_en_config_rss_steer(struct mlx4_en_priv *priv)
 					    (rss_map->base_qpn));
 	rss_context->default_qpn = cpu_to_be32(rss_map->base_qpn);
 	rss_context->flags = rss_mask;
+	rss_context->hash_fn = 1;
+	for (i = 0; i < 10; i++)
+		rss_context->rss_key[i] = random32();
 
 	if (priv->mdev->profile.udp_rss)
 		rss_context->base_qpn_udp = rss_context->default_qpn;
-- 
1.7.7

^ permalink raw reply related

* [PATCH 7/7] mlx4_en: Updating driver version
From: Yevgeny Petrilin @ 2011-10-17 20:18 UTC (permalink / raw)
  To: davem; +Cc: netdev, yevgenyp


Driver version updated to 1.5.4.2

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
---
 drivers/net/ethernet/mellanox/mlx4/mlx4_en.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
index 89fb57c..d62c65c 100644
--- a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
+++ b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
@@ -51,8 +51,8 @@
 #include "en_port.h"
 
 #define DRV_NAME	"mlx4_en"
-#define DRV_VERSION	"1.5.4.1"
-#define DRV_RELDATE	"March 2011"
+#define DRV_VERSION	"1.5.4.2"
+#define DRV_RELDATE	"October 2011"
 
 #define MLX4_EN_MSG_LEVEL	(NETIF_MSG_LINK | NETIF_MSG_IFDOWN)
 
-- 
1.7.7

^ permalink raw reply related

* Re: BUG in skb_pull with e1000e, PPTP, and L2TP
From: Stephen Hemminger @ 2011-10-17 22:25 UTC (permalink / raw)
  To: Bradley Peterson
  Cc: netdev, Jeff Kirsher, Jesse Brandeburg, Bruce Allan,
	Carolyn Wyborny, Don Skidmore, Greg Rose, PJ Waskiewicz,
	Alex Duyck, John Ronciak, e1000-devel
In-Reply-To: <CAJuWrdtOru6KSNTxXhhQNEZUTaX5KvyF7macx4RZYxMzcAo0KQ@mail.gmail.com>

On Mon, 17 Oct 2011 17:19:53 -0500
Bradley Peterson <despite@gmail.com> wrote:

>  using 3rd
> party pptp and l2tp modules. 

More than likely your 3rd party modules are buggy and
can't handle all the possible types of skb layout. 
I have seen out of tree code that can't handle non-linear
skb's. You need to take it up with the those developer.

^ 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