openwrt/staging/blogic.git
13 years agoksz884x: convert to SKB paged frag API.
Ian Campbell [Wed, 31 Aug 2011 00:46:55 +0000 (00:46 +0000)]
ksz884x: convert to SKB paged frag API.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agojme: convert to SKB paged frag API.
Ian Campbell [Wed, 31 Aug 2011 00:46:54 +0000 (00:46 +0000)]
jme: convert to SKB paged frag API.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Guo-Fu Tseng <cooldavid@cooldavid.org>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoibmveth: convert to SKB paged frag API.
Ian Campbell [Wed, 31 Aug 2011 00:46:53 +0000 (00:46 +0000)]
ibmveth: convert to SKB paged frag API.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Santiago Leon <santil@linux.vnet.ibm.com>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2x: Fix build error
Dmitry Kravkov [Mon, 29 Aug 2011 11:35:44 +0000 (11:35 +0000)]
bnx2x: Fix build error

On Mon, 2011-08-29 at 13:28 -0700, Randy Dunlap wrote:
> (on i386 or x86_64)
>
> drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c:10148: error: 'bnx2x_fcoe_get_wwn' undeclared here (not in a function)

This should sync #define structures between definition and declaration
Acked-by: Randy Dunlap <rdunlap@xenotime.net>
Reported-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Acked-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: Fix duplicate CONFIG_SLIP entry in driver/net/Makefile
David S. Miller [Tue, 30 Aug 2011 02:55:53 +0000 (22:55 -0400)]
net: Fix duplicate CONFIG_SLIP entry in driver/net/Makefile

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoqlcnic: add beacon test support.
Sucheta Chakraborty [Mon, 29 Aug 2011 12:50:30 +0000 (12:50 +0000)]
qlcnic: add beacon test support.

Beacon test flashes both port LEDs instead of just 1 LED of a port.
Updated driver version to 5.0.23.

Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
Signed-off-by: Sony Chacko <sony.chacko@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoqlcnic: fix cdrp race condition
Sritej Velaga [Mon, 29 Aug 2011 12:50:29 +0000 (12:50 +0000)]
qlcnic: fix cdrp race condition

Reading CRB registers(if reqd) before releasing the api lock.

Signed-off-by: Sritej Velaga <sritej.velaga@qlogic.com>
Signed-off-by: Sony Chacko <sony.chacko@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoqlcnic: Add FLT entry for CO cards FW image region
Sritej Velaga [Mon, 29 Aug 2011 12:50:28 +0000 (12:50 +0000)]
qlcnic: Add FLT entry for CO cards FW image region

The FLT entry for FW image region has changed for C0 cards.
Updated the driver to look at the right region in the FLT.

Signed-off-by: Sritej Velaga <sritej.velaga@qlogic.com>
Signed-off-by: Sony Chacko <sony.chacko@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoqlcnic: Change debug messages in loopback path
Manish chopra [Mon, 29 Aug 2011 12:50:27 +0000 (12:50 +0000)]
qlcnic: Change debug messages in loopback path

Added more debug messages while loopback test in progress

Signed-off-by: Manish chopra <Manish.Chopra@qlogic.com>
Signed-off-by: Sony Chacko <sony.chacko@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoqlcnic: detect fan failure
Sony Chacko [Mon, 29 Aug 2011 12:50:26 +0000 (12:50 +0000)]
qlcnic: detect fan failure

Signed-off-by: Sony Chacko <sony.chacko@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoMerge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville...
David S. Miller [Mon, 29 Aug 2011 20:46:24 +0000 (13:46 -0700)]
Merge branch 'for-davem' of git://git./linux/kernel/git/linville/wireless-next

13 years agonet: fix Makefile typos & build errors
Randy Dunlap [Mon, 29 Aug 2011 18:49:40 +0000 (11:49 -0700)]
net: fix Makefile typos & build errors

Fix many (randconfig) PPP build errors by fixing typos in
drivers/net/Makefile.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
John W. Linville [Mon, 29 Aug 2011 18:52:20 +0000 (14:52 -0400)]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless-next into for-davem

13 years agoixgbe: clear RNBC only for 82598
Emil Tantilov [Fri, 29 Jul 2011 06:46:15 +0000 (06:46 +0000)]
ixgbe: clear RNBC only for 82598

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

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbe: add check for supported modes
Emil Tantilov [Fri, 29 Jul 2011 06:46:10 +0000 (06:46 +0000)]
ixgbe: add check for supported modes

When setting advertised speed/duplex with ethtool.

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

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbe: fix ixgbe_fc_autoneg_fiber bug
Don Skidmore [Thu, 28 Jul 2011 01:00:58 +0000 (01:00 +0000)]
ixgbe: fix ixgbe_fc_autoneg_fiber bug

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

Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbe: cleanup feature flags in ixgbe_probe
Don Skidmore [Sat, 30 Jul 2011 05:08:18 +0000 (05:08 +0000)]
ixgbe: cleanup feature flags in ixgbe_probe

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

Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbe: PFC not cleared on X540 devices
John Fastabend [Thu, 21 Jul 2011 22:43:29 +0000 (22:43 +0000)]
ixgbe: PFC not cleared on X540 devices

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

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbe: consolidate, setup for multiple traffic classes
John Fastabend [Mon, 18 Jul 2011 22:38:36 +0000 (22:38 +0000)]
ixgbe: consolidate, setup for multiple traffic classes

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

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

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbe: remove unneeded fdir pb alloc case
John Fastabend [Mon, 18 Jul 2011 22:38:30 +0000 (22:38 +0000)]
ixgbe: remove unneeded fdir pb alloc case

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

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
13 years agoixgbe: fixup remaining call sites for arbitrary TCs
John Fastabend [Mon, 18 Jul 2011 22:38:25 +0000 (22:38 +0000)]
ixgbe: fixup remaining call sites for arbitrary TCs

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

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbe: Always tag VLAN tagged packets
Alexander Duyck [Wed, 20 Jul 2011 00:09:10 +0000 (00:09 +0000)]
ixgbe: Always tag VLAN tagged packets

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

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

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbe: Add support for setting CC bit when SR-IOV is enabled
Alexander Duyck [Wed, 29 Jun 2011 05:43:27 +0000 (05:43 +0000)]
ixgbe: Add support for setting CC bit when SR-IOV is enabled

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

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agocaif: Remove OOM messages, use kzalloc
Joe Perches [Thu, 25 Aug 2011 13:22:24 +0000 (13:22 +0000)]
caif: Remove OOM messages, use kzalloc

Remove per site OOM messages because they duplicate
the generic mm subsystem OOM message.

Use kzalloc instead of kmalloc/memset
when next to the OOM message removals.

Reduces object size (allyesconfig ~2%)

$ size -t drivers/net/caif/built-in.o.old net/caif/built-in.o.old
   text    data     bss     dec     hex filename
  32297     700    8224   41221    a105 drivers/net/caif/built-in.o.old
  72159    1317   20552   94028   16f4c net/caif/built-in.o.old
 104456    2017   28776  135249   21051 (TOTALS)
$ size -t drivers/net/caif/built-in.o.new net/caif/built-in.o.new
   text    data     bss     dec     hex filename
  31975     700    8184   40859    9f9b drivers/net/caif/built-in.o.new
  70748    1317   20152   92217   16839 net/caif/built-in.o.new
 102723    2017   28336  133076   207d4 (TOTALS)

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobenet: remove bogus "unlikely" on vlan check
Jiri Pirko [Thu, 25 Aug 2011 02:50:51 +0000 (02:50 +0000)]
benet: remove bogus "unlikely" on vlan check

Use of unlikely in this place is wrong. Remove it.

Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: Define NETDEV_FCOE_WWNN, NETDEV_FCOE_WWPN only when CONFIG_LIBFCOE is enabled
Bhanu Prakash Gollapudi [Fri, 26 Aug 2011 09:45:41 +0000 (09:45 +0000)]
net: Define NETDEV_FCOE_WWNN, NETDEV_FCOE_WWPN only when CONFIG_LIBFCOE is enabled

bnx2fc driver calls netdev->netdev_ops->ndo_fcoe_get_wwn() and it may not
be defined with the current Kconfig dependencies.  ndo_fcoe_get_wwn is
dependent on CONFIG_FCOE, but bnx2fc does not select CONFIG_FCOE, as it does
not depend on fcoe driver. Since both fcoe and bnx2fc drivers select
CONFIG_LIBFCOE, define NETDEV_FCOE_WWNN and NETDEV_FCOE_WWPN when
CONFIG_LIBFCOE is defined.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Reported-by: Randy Dunlap <rdunlap@xenotime.net>
Cc: Yi Zou <yi.zou@intel.com>
Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Reviewed-by: Yi Zou <yi.zou@intel.com>
Acked-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agocnic: Add timeout for ramrod replies.
Michael Chan [Fri, 26 Aug 2011 09:45:40 +0000 (09:45 +0000)]
cnic: Add timeout for ramrod replies.

If the bnx2x device has encountered parity errors, the chip will not DMA
any replies.  Using wait_event_timeout() will allow us to make forward
progress and let bnx2x reset the chip.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Reviewed-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agocnic, bnx2fc: Increase maximum FCoE sessions.
Michael Chan [Fri, 26 Aug 2011 09:45:39 +0000 (09:45 +0000)]
cnic, bnx2fc: Increase maximum FCoE sessions.

Increase it to NVRAM configured limit or 1024 whichever is less.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/jkirsher/next...
David S. Miller [Sat, 27 Aug 2011 16:14:34 +0000 (12:14 -0400)]
Merge branch 'master' of /linux/kernel/git/jkirsher/next-organize

13 years agodrivers/net/ethernet/*: Enabled vendor Kconfig options
Jeff Kirsher [Tue, 23 Aug 2011 08:29:52 +0000 (01:29 -0700)]
drivers/net/ethernet/*: Enabled vendor Kconfig options

Based on finds for Stephen Rothwell, where current defconfig's
enable a ethernet driver and it is not compiled due to the newly
added NET_VENDOR_* component of Kconfig.

This patch enables all the "new" Kconfig options so that current
defconfig's will continue to compile the expected drivers.  In
addition, by enabling all the new Kconfig options does not add
any un-expected options.

CC: Stephen Rothwll <sfc@canb.auug.org.au>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agodrivers/net: Kconfig & Makefile cleanup
Jeff Kirsher [Tue, 23 Aug 2011 07:42:10 +0000 (00:42 -0700)]
drivers/net: Kconfig & Makefile cleanup

The is does a general cleanup of the drivers/net/ Kconfig and
Makefile.  This patch create a "core" option and places all
the networking core drivers into this option (default is yes
for this option).  In addition, it alphabitizes the Kconfig
driver options.

As a side cleanup, found that the arcnet, token ring, and PHY
Kconfig options were a tri-state option and should have been
a bool option.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agocom20020_cs: Move the PCMCIA Arcnet driver
Jeff Kirsher [Tue, 23 Aug 2011 01:04:50 +0000 (18:04 -0700)]
com20020_cs: Move the PCMCIA Arcnet driver

Move the COM20020 PCMICA Arcnet driver into drivers/net/arcnet/ with
the other Arcnet drivers.  Made the necessary Kconfig and Makefile
changes as well.

Since this was the "last" PCMCIA driver in drivers/net/pcmcia/, this patch
also cleans up the references to drivers/net/pcmcia.

CC: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixbmtr_cs: Move the IBM PCMCIA Token Ring driver
Jeff Kirsher [Tue, 23 Aug 2011 00:37:03 +0000 (17:37 -0700)]
ixbmtr_cs: Move the IBM PCMCIA Token Ring driver

Move the IBM PCMCIA Token Ring driver into drivers/net/tokenring/ with
the other Token Ring drivers.  Made the necessary Kconfig and Makefile
changes as well.

CC: Mike Phillips <phillim@amtrak.com>
CC: Burt Silverman <burts@us.ibm.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoslip: Move the SLIP drivers
Jeff Kirsher [Wed, 3 Aug 2011 10:17:13 +0000 (03:17 -0700)]
slip: Move the SLIP drivers

Move the Serial Line Internet Protocol (SLIP) drivers into
drivers/net/slip/ and make the necessary Kconfig and Makefile
changes.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Acked-by: Alan Cox <alan@linux.intel.com>
13 years agoplip: Move the PLIP driver
Jeff Kirsher [Wed, 3 Aug 2011 10:01:58 +0000 (03:01 -0700)]
plip: Move the PLIP driver

Move the Parallel Line Internet Protocol (PLIP) driver into
drivers/net/plip/ and make the necessary Kconfig and Makefile changes.

CC: Niibe Yutaka <gniibe@mri.co.jp>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Acked-by: Alan Cox <alan@linux.intel.com>
13 years agohippi: Move the HIPPI driver
Jeff Kirsher [Tue, 2 Aug 2011 05:48:13 +0000 (22:48 -0700)]
hippi: Move the HIPPI driver

Move the HIPPI driver into drivers/net/hippi/ and make the
necessary Kconfig and Makefile changes.

CC: Jes Sorensen <jes@wildopensource.com>
CC: Jes Sorensen <jes@trained-monkey.org>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoppp: Move the PPP drivers
Jeff Kirsher [Sun, 31 Jul 2011 09:38:19 +0000 (02:38 -0700)]
ppp: Move the PPP drivers

Move the PPP drivers into drivers/net/ppp/ and make the
necessary Kconfig and Makefile changes.

CC: Paul Mackerras <paulus@samba.org>
CC: Frank Cusack <fcusack@fcusack.com>
CC: Michal Ostrowski <mostrows@speakeasy.net>
CC: Michal Ostrowski <mostrows@earthlink.net>
CC: Dmitry Kozlov <xeb@mail.ru>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoskfp: Fix SysKonnect FDDI driver compile issues
Jeff Kirsher [Wed, 24 Aug 2011 08:34:35 +0000 (01:34 -0700)]
skfp: Fix SysKonnect FDDI driver compile issues

After moving the skfp driver, issues with the #include pathing to
their locel headers was somehow exposed.  Several headers had the
incorrect path, so they were not able to be found during compile
time.

This patch fixes up the path issues to the local headers that need
to be included.

CC: "Maciej W. Rozycki" <macro@linux-mips.org>
CC: Christoph Goos <cgoos@syskonnect.de>
CC: <linux@syskonnect.de>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agofddi: Move the FDDI drivers
Jeff Kirsher [Sun, 31 Jul 2011 07:06:29 +0000 (00:06 -0700)]
fddi: Move the FDDI drivers

Move the FDDI drivers into drivers/net/fddi/ and make the
necessary Kconfig and Makefile changes.

CC: "Maciej W. Rozycki" <macro@linux-mips.org>
CC: Christoph Goos <cgoos@syskonnect.de>
CC: <linux@syskonnect.de>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbe: convert rings from q_vector bit indexed array to linked list
Alexander Duyck [Fri, 15 Jul 2011 03:05:21 +0000 (03:05 +0000)]
ixgbe: convert rings from q_vector bit indexed array to linked list

This change converts the current bit array into a linked list so that the
q_vectors can simply go through ring by ring and locate each ring needing
to be cleaned.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbe: Simplify transmit cleanup path
Alexander Duyck [Fri, 15 Jul 2011 03:05:14 +0000 (03:05 +0000)]
ixgbe: Simplify transmit cleanup path

This patch helps to simplify the work being done by the transmit path by
removing the unnecessary compares between count and the work limit.  Instead
we can simplify this by just adding a budget value that will act as a count
down from the work limit value.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbevf: convert to ndo_fix_features
Michał Mirosław [Wed, 8 Jun 2011 08:53:03 +0000 (08:53 +0000)]
ixgbevf: convert to ndo_fix_features

Private rx_csum flags are now duplicate of netdev->features & NETIF_F_RXCSUM.
Removing this needs deeper surgery.

Since ixgbevf doesn't change hardware state on RX csum enable/disable
its reset is avoided.

Things noticed:
 - HW VLAN acceleration probably can be toggled, but it's left as is
 - the resets on RX csum offload change can probably be avoided
 - there is A LOT of copy-and-pasted code here

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbevf: provide 64 bit statistics
Eric Dumazet [Wed, 22 Jun 2011 05:01:35 +0000 (05:01 +0000)]
ixgbevf: provide 64 bit statistics

Compute statistics per ring using 64 bits, and provide
network device stats in 64 bits.

It should make this driver multiqueue operations faster (no more cache
line ping pongs on netdev->stats structure)

Use u64_stats_sync infrastructure so that its safe on 32bit arches as
well.

Based on a prior patch from Stephen Hemminger

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Greg Rose <gregory.v.rose@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbevf: Check if EOP has changed before using it
Greg Rose [Fri, 3 Jun 2011 03:53:24 +0000 (03:53 +0000)]
ixgbevf: Check if EOP has changed before using it

There is a chance that between the time EOP is read and the time it is
used another transmit on a different CPU could have run and completed,
thus leaving EOP in a bad state.

Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoe1000e: convert to netdev features/hw_features API
Bruce Allan [Fri, 19 Aug 2011 03:23:48 +0000 (03:23 +0000)]
e1000e: convert to netdev features/hw_features API

Private rx_csum flags are now duplicate of netdev->features &
NETIF_F_RXCSUM.  Remove those duplicates and use the net_device_ops
ndo_set_features.  This is based on the original patch submitted by
Michał Mirosław <mirq-linux@rere.qmqm.pl>

Cc: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoMerge branch 'davem-next.mii' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu...
David S. Miller [Fri, 26 Aug 2011 17:13:04 +0000 (13:13 -0400)]
Merge branch 'davem-next.mii' of git://git./linux/kernel/git/romieu/netdev-2.6

13 years agoe1000: save skb counts in TX to avoid cache misses
Dean Nelson [Thu, 25 Aug 2011 14:39:24 +0000 (14:39 +0000)]
e1000: save skb counts in TX to avoid cache misses

Virtual Machines with emulated e1000 network adapter running on Parallels'
server were seeing kernel panics due to the e1000 driver dereferencing an
unexpected NULL pointer retrieved from buffer_info->skb.

The problem has been addressed for the e1000e driver, but not for the e1000.
Since the two drivers share similar code in the affected area, a port of the
following e1000e driver commit solves the issue for the e1000 driver:

commit 9ed318d546a29d7a591dbe648fd1a2efe3be1180
Author: Tom Herbert <therbert@google.com>
Date:   Wed May 5 14:02:27 2010 +0000

    e1000e: save skb counts in TX to avoid cache misses

    In e1000_tx_map, precompute number of segements and bytecounts which
    are derived from fields in skb; these are stored in buffer_info.  When
    cleaning tx in e1000_clean_tx_irq use the values in the associated
    buffer_info for statistics counting, this eliminates cache misses
    on skb fields.

Signed-off-by: Dean Nelson <dnelson@redhat.com>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet_sched: sfb: optimize enqueue on full queue
Eric Dumazet [Thu, 25 Aug 2011 06:21:32 +0000 (06:21 +0000)]
net_sched: sfb: optimize enqueue on full queue

In case SFB queue is full (hard limit reached), there is no point
spending time to compute hash and maximum qlen/p_mark.

We instead just early drop packet.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobna: off by one in bfa_msgq_rspq_pi_update()
Dan Carpenter [Wed, 24 Aug 2011 01:30:28 +0000 (01:30 +0000)]
bna: off by one in bfa_msgq_rspq_pi_update()

The rspq->rsphdlr[] array has BFI_MC_MAX elements, so this test was
off by one.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Rasesh Mody <rmody@brocade.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobna: unlock on error path in pnad_pci_probe()
Dan Carpenter [Wed, 24 Aug 2011 01:29:22 +0000 (01:29 +0000)]
bna: unlock on error path in pnad_pci_probe()

We introduced a new lock here, so there was error path which needs
an unlock now.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Rasesh Mody <rmody@brocade.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2x: Add new PHY BCM54616
Yaniv Rosner [Tue, 23 Aug 2011 06:33:24 +0000 (06:33 +0000)]
bnx2x: Add new PHY BCM54616

The BCM54616 PHY is very similar to the 54618SE, only without EEE support, which will not be activated due to querying the actual PHY type.
This check is already done by reading a dedicated PHY register.

Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2x: resurrect RX hashing
Michal Schmidt [Tue, 23 Aug 2011 06:15:32 +0000 (06:15 +0000)]
bnx2x: resurrect RX hashing

bnx2x used to be able to set rxhash, but this was lost in the conversion
to hw_features (commit 66371c441).
Restore it and enable it by default.

Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
CC: Vladislav Zolotarov <vladz@broadcom.com>
CC: Eilon Greenstein <eilong@broadcom.com>
CC: Dmitry Kravkov <dmitry@broadcom.com>
CC: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoaf_packet: Prefixed tpacket_v3 structs to avoid name space collision
chetan loke [Thu, 25 Aug 2011 10:43:30 +0000 (10:43 +0000)]
af_packet: Prefixed tpacket_v3 structs to avoid name space collision

structs introduced in tpacket_v3 implementation are prefixed with 'tpacket'
to avoid namespace collision.

Compile tested.

Signed-off-by: Chetan Loke <loke.chetan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agofcoe: convert to SKB paged frag API.
Ian Campbell [Wed, 24 Aug 2011 22:28:15 +0000 (22:28 +0000)]
fcoe: convert to SKB paged frag API.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Robert Love <robert.w.love@intel.com>
Cc: "James E.J. Bottomley" <JBottomley@parallels.com>
Cc: devel@open-fcoe.org
Cc: linux-scsi@vger.kernel.org
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2fc: convert to SKB paged frag API.
Ian Campbell [Wed, 24 Aug 2011 22:28:14 +0000 (22:28 +0000)]
bnx2fc: convert to SKB paged frag API.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
Cc: "James E.J. Bottomley" <JBottomley@parallels.com>
Cc: linux-scsi@vger.kernel.org
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2x: convert to SKB paged frag API.
Ian Campbell [Wed, 24 Aug 2011 22:28:13 +0000 (22:28 +0000)]
bnx2x: convert to SKB paged frag API.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Eilon Greenstein <eilong@broadcom.com>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2: convert to SKB paged frag API.
Ian Campbell [Wed, 24 Aug 2011 22:28:12 +0000 (22:28 +0000)]
bnx2: convert to SKB paged frag API.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Michael Chan <mchan@broadcom.com>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agotg3: convert to SKB paged frag API.
Ian Campbell [Wed, 24 Aug 2011 22:28:11 +0000 (22:28 +0000)]
tg3: convert to SKB paged frag API.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Matt Carlson <mcarlson@broadcom.com>
Cc: Michael Chan <mchan@broadcom.com>
Cc: netdev@vger.kernel.org
Cc: devicetree-discuss@lists.ozlabs.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoIPoIB: convert to SKB paged frag API.
Ian Campbell [Wed, 24 Aug 2011 22:28:10 +0000 (22:28 +0000)]
IPoIB: convert to SKB paged frag API.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Roland Dreier <roland@kernel.org>
Cc: Sean Hefty <sean.hefty@intel.com>
Cc: Hal Rosenstock <hal.rosenstock@gmail.com>
Cc: linux-rdma@vger.kernel.org
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoIB: nes: convert to SKB paged frag API.
Ian Campbell [Wed, 24 Aug 2011 22:28:09 +0000 (22:28 +0000)]
IB: nes: convert to SKB paged frag API.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Faisal Latif <faisal.latif@intel.com>
Cc: Roland Dreier <roland@kernel.org>
Cc: Sean Hefty <sean.hefty@intel.com>
Cc: Hal Rosenstock <hal.rosenstock@gmail.com>
Cc: linux-rdma@vger.kernel.org
Cc: netdev@vger.kernel.org
Acked-by: Faisal Latif <faisal.latif@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoIB: amso1100: convert to SKB paged frag API.
Ian Campbell [Wed, 24 Aug 2011 22:28:08 +0000 (22:28 +0000)]
IB: amso1100: convert to SKB paged frag API.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Tom Tucker <tom@opengridcomputing.com>
Cc: Steve Wise <swise@opengridcomputing.com>
Cc: Roland Dreier <roland@kernel.org>
Cc: Sean Hefty <sean.hefty@intel.com>
Cc: Hal Rosenstock <hal.rosenstock@gmail.com>
Cc: linux-rdma@vger.kernel.org
Cc: netdev@vger.kernel.org
Acked-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoatm: convert to SKB paged frag API.
Ian Campbell [Wed, 24 Aug 2011 22:28:07 +0000 (22:28 +0000)]
atm: convert to SKB paged frag API.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Chas Williams <chas@cmf.nrl.navy.mil>
Cc: linux-atm-general@lists.sourceforge.net
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoheaders, can: Add missing #include to <linux/can/bcm.h>
Ben Hutchings [Wed, 24 Aug 2011 18:46:06 +0000 (18:46 +0000)]
headers, can: Add missing #include to <linux/can/bcm.h>

<linux/can/bcm.h> uses type canid_t, defined in <linux/can.h>.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoheaders, xtables: Add missing #include <linux/netfilter.h>
Ben Hutchings [Wed, 24 Aug 2011 18:45:42 +0000 (18:45 +0000)]
headers, xtables: Add missing #include <linux/netfilter.h>

Various headers use union nf_inet_addr, defined in <linux/netfilter.h>.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Acked-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoheaders, netfilter: Add missing #include <limits.h> for userland
Ben Hutchings [Wed, 24 Aug 2011 18:45:36 +0000 (18:45 +0000)]
headers, netfilter: Add missing #include <limits.h> for userland

Various headers use INT_MIN and INT_MAX, which are defined for
userland in <limits.h>.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Acked-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoheaders, tipc: Add missing #include to <linux/tipc_config.h> for userland
Ben Hutchings [Wed, 24 Aug 2011 18:45:14 +0000 (18:45 +0000)]
headers, tipc: Add missing #include to <linux/tipc_config.h> for userland

<linux/tipc_config.h> defines inline functions using ntohs() etc.
For userland these are defined in <arpa/inet.h>.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoheaders, netfilter: Use kernel type names __u8, __u16, __u32
Ben Hutchings [Wed, 24 Aug 2011 18:44:57 +0000 (18:44 +0000)]
headers, netfilter: Use kernel type names __u8, __u16, __u32

These types are guaranteed to be defined by <linux/types.h> for
both userland and kernel, unlike u_intN_t.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Acked-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoheaders, net: Use __kernel_sa_family_t in more definitions shared with userland
Ben Hutchings [Wed, 24 Aug 2011 18:43:55 +0000 (18:43 +0000)]
headers, net: Use __kernel_sa_family_t in more definitions shared with userland

Complete the work started with commit
6602a4baf4d1a73cc4685a39ef859e1c5ddf654c ('net: Make userland include
of netlink.h more sane').

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoheaders, pppol2tp: Use __kernel_pid_t in <linux/pppol2tp.h>
Ben Hutchings [Wed, 24 Aug 2011 18:43:50 +0000 (18:43 +0000)]
headers, pppol2tp: Use __kernel_pid_t in <linux/pppol2tp.h>

<linux/types.h> defines __kernel_pid_t for userland; pid_t is
defined elsewhere (and potentially differently).

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoheaders, ax25: Add missing #include to <linux/netrom.h>, <linux/rose.h>
Ben Hutchings [Wed, 24 Aug 2011 18:43:18 +0000 (18:43 +0000)]
headers, ax25: Add missing #include to <linux/netrom.h>, <linux/rose.h>

These headers use the ax25_address type defined in <linux/ax25.h>.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoheaders, pppox: Add missing #include to <linux/if_pppox.h>
Ben Hutchings [Wed, 24 Aug 2011 18:40:48 +0000 (18:40 +0000)]
headers, pppox: Add missing #include to <linux/if_pppox.h>

<linux/if_ppox.h> uses ETH_ALEN, defined in <linux/if_ether.h>.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoath9k: add AR9580 support
Luis R. Rodriguez [Tue, 23 Aug 2011 20:37:07 +0000 (13:37 -0700)]
ath9k: add AR9580 support

This has been tested in STA and AP mode by Florian.

Cc: David Quan <dquan@qca.qualcomm.com>
Cc: Kathy Giori <kgiori@qca.qualcomm.com>
Cc: Senthil Balasubramanian <senthilb@qca.qualcomm.com>
Tested-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agocarl9170: Use do_div for 64-bit division to fix 32-bit kernels
Christian Lamparter [Thu, 25 Aug 2011 13:00:54 +0000 (15:00 +0200)]
carl9170: Use do_div for 64-bit division to fix 32-bit kernels

Use the do_div macro for 64-bit division. Otherwise, the module will
reference __udivdi3 under 32-bit kernels, which is not allowed in
kernel space.

drivers/built-in.o: In function `carl9170_collect_tally':
cmd.c:191: undefined reference to `__udivdi3'
cmd.c:192: undefined reference to `__udivdi3'
cmd.c:193: undefined reference to `__udivdi3'

Reported-by: Kalle Valo <kvalo@adurom.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Tested-by: Kalle Valo <kvalo@adurom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k_hw: add AR9580 support
Luis R. Rodriguez [Wed, 24 Aug 2011 22:36:08 +0000 (15:36 -0700)]
ath9k_hw: add AR9580 support

Here are the AR9580 1.0 initvals checksums using the
Atheros initvals-tools [1]. This is useful for when
we udate the initvals again with other values. It ensures
that we match the same initvals used internally. The
tool is documented on the wiki [2].

$ ./initvals -f ar9580-1p0
0x00000000e912711f        ar9580_1p0_modes_fast_clock
0x000000004a488fc7        ar9580_1p0_radio_postamble
0x00000000f3888b02        ar9580_1p0_baseband_core
0x0000000003f783bb        ar9580_1p0_mac_postamble
0x0000000094be244a        ar9580_1p0_low_ob_db_tx_gain_table
0x0000000094be244a        ar9580_1p0_high_power_tx_gain_table
0x0000000090be244a        ar9580_1p0_lowest_ob_db_tx_gain_table
0x00000000ed9eaac6        ar9580_1p0_baseband_core_txfir_coeff_japan_2484
0x00000000c4d66d1b        ar9580_1p0_mac_core
0x00000000e8e9043a        ar9580_1p0_mixed_ob_db_tx_gain_table
0x000000003521a300        ar9580_1p0_wo_xlna_rx_gain_table
0x00000000301fc841        ar9580_1p0_soc_postamble
0x00000000a9a06b3a        ar9580_1p0_high_ob_db_tx_gain_table
0x00000000a15ccf1b        ar9580_1p0_soc_preamble
0x0000000029495000        ar9580_1p0_rx_gain_table
0x0000000037ac0ee8        ar9580_1p0_radio_core
0x00000000603a1b80        ar9580_1p0_baseband_postamble
0x000000003d8b4396        ar9580_1p0_pcie_phy_clkreq_enable_L1
0x00000000398b4396        ar9580_1p0_pcie_phy_clkreq_disable_L1
0x00000000397b4396        ar9580_1p0_pcie_phy_pll_on_clkreq

[1] git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/initvals-tool.git
[2] http://wireless.kernel.org/en/users/Drivers/ath9k_hw/initvals-tool

Cc: David Quan <dquan@qca.qualcomm.com>
Cc: Kathy Giori <kgiori@qca.qualcomm.com>
Cc: Senthil Balasubramanian <senthilb@qca.qualcomm.com>
Tested-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k_htc: Add get_stats call back
Mohammed Shafi Shajakhan [Wed, 24 Aug 2011 19:31:22 +0000 (01:01 +0530)]
ath9k_htc: Add get_stats call back

currently this call back is used only in debugfs of mac80211

Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43: correct warning for uninitialized variable 'macstat'
John W. Linville [Wed, 24 Aug 2011 19:05:14 +0000 (15:05 -0400)]
b43: correct warning for uninitialized variable 'macstat'

  CC [M]  drivers/net/wireless/b43/pio.o
drivers/net/wireless/b43/pio.c: In function ‘pio_rx_frame’:
drivers/net/wireless/b43/pio.c:614:6: warning: ‘macstat’ may be used uninitialized in this function

Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k: remove replicated null check in ath_pci_aspm_init
John W. Linville [Wed, 24 Aug 2011 18:08:41 +0000 (14:08 -0400)]
ath9k: remove replicated null check in ath_pci_aspm_init

Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43: HT-PHY: read clip state
Rafał Miłecki [Wed, 24 Aug 2011 09:52:35 +0000 (11:52 +0200)]
b43: HT-PHY: read clip state

We don't know yet when to restore it, implement just reading. We found
out what for are that PHY ops by comparing HT with N code.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43: HT-PHY: use separated function for forcing RF sequence
Rafał Miłecki [Wed, 24 Aug 2011 09:52:34 +0000 (11:52 +0200)]
b43: HT-PHY: use separated function for forcing RF sequence

Comparison of the HT and N code has shown similarities in the ops
performed after b43_mac_phy_clock_set. That way we understood what is
happening in the HT-PHY code.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoMAINTANERS: update Qualcomm Atheros addresses
Luis R. Rodriguez [Tue, 23 Aug 2011 22:07:31 +0000 (15:07 -0700)]
MAINTANERS: update Qualcomm Atheros addresses

Qualcomm ate up Atheros, all of the old e-mail addresses
no longer work and e-mails sent to it will bounce. Update
the addresses to the new shiny Qualcomm Atheros (QCA) ones.

Cc: stable@kernel.org
Cc: netdev@vger.kernel.org
Cc: jouni@qca.qualcomm.com
Cc: yangjie@qca.qualcomm.com
Cc: vthiagar@qca.qualcomm.com
Cc: senthilb@qca.qualcomm.com
Signed-off-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agowireless: relicense regulatory header to ISC
Luis R. Rodriguez [Tue, 23 Aug 2011 22:03:34 +0000 (15:03 -0700)]
wireless: relicense regulatory header to ISC

I will suck out stuff to userspace to start the regulatory
revampamp, this work will be permissively licensed.

Signed-off-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: add uapsd_queues and max_sp params fields
Eliad Peller [Tue, 23 Aug 2011 11:37:47 +0000 (14:37 +0300)]
mac80211: add uapsd_queues and max_sp params fields

Add uapsd_queues and max_sp fields to ieee80211_sta.
These fields might be needed by low-level drivers in
order to configure the AP.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agonl80211/cfg80211: add STA WME parameters
Eliad Peller [Tue, 23 Aug 2011 11:37:46 +0000 (14:37 +0300)]
nl80211/cfg80211: add STA WME parameters

Add new NL80211_ATTR_STA_WME nested attribute that contains
wme params needed by the low-level driver (uapsd_queues and
max_sp).

Add these params to the station_parameters struct as well.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: allow action frames with unknown BSSID in GO mode
Arik Nemtsov [Tue, 23 Aug 2011 07:21:27 +0000 (10:21 +0300)]
mac80211: allow action frames with unknown BSSID in GO mode

When operating as a P2P GO, we receive some P2P action frames where the
BSSID is set to the peer MAC address. Specifically, this occurs for
invitation responses. These are valid action frames and they should be
passed up.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agoath9k: Send legacy rated frames as unaggregated
Rajkumar Manoharan [Tue, 23 Aug 2011 07:02:57 +0000 (12:32 +0530)]
ath9k: Send legacy rated frames as unaggregated

Currently the aggregation is formed till the aggregation limit
is reached and the rate lookup is done for the first frame alone.
But there can be a legacy rated frames in tid queue. This patch
limits the subframe addition based on presence of legacy rate and
sends the legacy rated frames as unaggregated one.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: fix race condition between assoc_done and first EAP packet
Guy Eilam [Wed, 17 Aug 2011 12:18:15 +0000 (15:18 +0300)]
mac80211: fix race condition between assoc_done and first EAP packet

When associating to an AP, the station might miss the first EAP
packet that the AP sends due to a race condition between the association
success procedure and the rx flow in mac80211.
In such cases, the packet might fall in ieee80211_rx_h_check due to
the fact that the relevant rx->sta wasn't allocated yet.
Allocation of the relevant station info struct before actually
sending the association request and setting it with a new
dummy_sta flag solve this problem.
The station will accept only EAP packets from the AP while it
is in the pre-association/dummy state.
This dummy station entry is not seen by normal sta_info_get()
calls, only by sta_info_get_bss_rx().
The driver is not notified for the first insertion of the
dummy station. The driver is notified only after the association
is complete and the dummy flag is removed from the station entry.
That way, all the rest of the code flow should be untouched by
this change.

Signed-off-by: Guy Eilam <guy@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: refactor sta_info_insert_rcu to 3 main stages
Guy Eilam [Wed, 17 Aug 2011 12:18:14 +0000 (15:18 +0300)]
mac80211: refactor sta_info_insert_rcu to 3 main stages

Divided the sta_info_insert_rcu function to 3 mini-functions:
sta_info_insert_check - the initial checks done when inserting
a new station
sta_info_insert_ibss - the function that handles the station
addition for IBSS interfaces
sta_info_insert_non_ibss - the function that handles the station
addition in other cases

The outer API was not changed.
The refactoring was done for better usage of the different
stages in the station addition in new scenarios added
in the next commit.

Signed-off-by: Guy Eilam <guy@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agob43: drop Kconfig option of forcing PIO mode
Rafał Miłecki [Tue, 16 Aug 2011 10:14:07 +0000 (12:14 +0200)]
b43: drop Kconfig option of forcing PIO mode

We have module param called use_pio which is much easier to use.

Cc: Larry Finger <larry.finger@lwfinger.net>
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agomac80211: mesh gate fixes
Thomas Pedersen [Thu, 25 Aug 2011 17:36:14 +0000 (10:36 -0700)]
mac80211: mesh gate fixes

Since a v1 of the mesh gate series was accidentally applied, this patch
contains the changes in v2.

These are:
- automatically make mesh gate a root node.
- use TU_TO_EXP_TIME macro.
- initialize timer instead of checking for NULL timer function.
- cleanups.

Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13 years agosunbmac: use standard #defines from mii.h.
Francois Romieu [Sun, 21 Aug 2011 14:17:22 +0000 (16:17 +0200)]
sunbmac: use standard #defines from mii.h.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
13 years agodl2k: use standard #defines from mii.h.
Francois Romieu [Sun, 21 Aug 2011 16:32:05 +0000 (18:32 +0200)]
dl2k: use standard #defines from mii.h.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
13 years agoScm: Remove unnecessary pid & credential references in Unix socket's send and receive...
Tim Chen [Mon, 22 Aug 2011 14:57:26 +0000 (14:57 +0000)]
Scm: Remove unnecessary pid & credential references in Unix socket's send and receive path

Patch series 109f6e39..7361c36c back in 2.6.36 added functionality to
allow credentials to work across pid namespaces for packets sent via
UNIX sockets.  However, the atomic reference counts on pid and
credentials caused plenty of cache bouncing when there are numerous
threads of the same pid sharing a UNIX socket.  This patch mitigates the
problem by eliminating extraneous reference counts on pid and
credentials on both send and receive path of UNIX sockets. I found a 2x
improvement in hackbench's threaded case.

On the receive path in unix_dgram_recvmsg, currently there is an
increment of reference count on pid and credentials in scm_set_cred.
Then there are two decrement of the reference counts.  Once in scm_recv
and once when skb_free_datagram call skb->destructor function
unix_destruct_scm.  One pair of increment and decrement of ref count on
pid and credentials can be eliminated from the receive path.  Until we
destroy the skb, we already set a reference when we created the skb on
the send side.

On the send path, there are two increments of ref count on pid and
credentials, once in scm_send and once in unix_scm_to_skb.  Then there
is a decrement of the reference counts in scm_destroy's call to
scm_destroy_cred at the end of unix_dgram_sendmsg functions.   One pair
of increment and decrement of the reference counts can be removed so we
only need to increment the ref counts once.

By incorporating these changes, for hackbench running on a 4 socket
NHM-EX machine with 40 cores, the execution of hackbench on
50 groups of 20 threads sped up by factor of 2.

Hackbench command used for testing:
./hackbench 50 thread 2000

Signed-off-by: Tim Chen <tim.c.chen@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agosctp: Bundle HEAERTBEAT into ASCONF_ACK
Michio Honda [Thu, 16 Jun 2011 08:14:34 +0000 (17:14 +0900)]
sctp: Bundle HEAERTBEAT into ASCONF_ACK

With this patch a HEARTBEAT chunk is bundled into the ASCONF-ACK
for ADD IP ADDRESS, confirming the new destination as quickly as
possible.

Signed-off-by: Michio Honda <micchie@sfc.wide.ad.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agosctp: HEARTBEAT negotiation after ASCONF
Michio Honda [Thu, 16 Jun 2011 01:54:23 +0000 (10:54 +0900)]
sctp: HEARTBEAT negotiation after ASCONF

This patch fixes BUG that the ASCONF receiver transmits DATA chunks
to the newly added UNCONFIRMED destination.

Signed-off-by: Michio Honda <micchie@sfc.wide.ad.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoProportional Rate Reduction for TCP.
Nandita Dukkipati [Sun, 21 Aug 2011 20:21:57 +0000 (20:21 +0000)]
Proportional Rate Reduction for TCP.

This patch implements Proportional Rate Reduction (PRR) for TCP.
PRR is an algorithm that determines TCP's sending rate in fast
recovery. PRR avoids excessive window reductions and aims for
the actual congestion window size at the end of recovery to be as
close as possible to the window determined by the congestion control
algorithm. PRR also improves accuracy of the amount of data sent
during loss recovery.

The patch implements the recommended flavor of PRR called PRR-SSRB
(Proportional rate reduction with slow start reduction bound) and
replaces the existing rate halving algorithm. PRR improves upon the
existing Linux fast recovery under a number of conditions including:
  1) burst losses where the losses implicitly reduce the amount of
outstanding data (pipe) below the ssthresh value selected by the
congestion control algorithm and,
  2) losses near the end of short flows where application runs out of
data to send.

As an example, with the existing rate halving implementation a single
loss event can cause a connection carrying short Web transactions to
go into the slow start mode after the recovery. This is because during
recovery Linux pulls the congestion window down to packets_in_flight+1
on every ACK. A short Web response often runs out of new data to send
and its pipe reduces to zero by the end of recovery when all its packets
are drained from the network. Subsequent HTTP responses using the same
connection will have to slow start to raise cwnd to ssthresh. PRR on
the other hand aims for the cwnd to be as close as possible to ssthresh
by the end of recovery.

A description of PRR and a discussion of its performance can be found at
the following links:
- IETF Draft:
    http://tools.ietf.org/html/draft-mathis-tcpm-proportional-rate-reduction-01
- IETF Slides:
    http://www.ietf.org/proceedings/80/slides/tcpm-6.pdf
    http://tools.ietf.org/agenda/81/slides/tcpm-2.pdf
- Paper to appear in Internet Measurements Conference (IMC) 2011:
    Improving TCP Loss Recovery
    Nandita Dukkipati, Matt Mathis, Yuchung Cheng

Signed-off-by: Nandita Dukkipati <nanditad@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoaf-packet: TPACKET_V3 flexible buffer implementation.
chetan loke [Fri, 19 Aug 2011 10:18:16 +0000 (10:18 +0000)]
af-packet: TPACKET_V3 flexible buffer implementation.

1) Blocks can be configured with non-static frame-size.
2) Read/poll is at a block-level(as opposed to packet-level).
3) Added poll timeout to avoid indefinite user-space wait on idle links.
4) Added user-configurable knobs:
   4.1) block::timeout.
   4.2) tpkt_hdr::sk_rxhash.

Changes:
C1) tpacket_rcv()
    C1.1) packet_current_frame() is replaced by packet_current_rx_frame()
          The bulk of the processing is then moved in the following chain:
          packet_current_rx_frame()
            __packet_lookup_frame_in_block
              fill_curr_block()
              or
                retire_current_block
                dispatch_next_block
              or
              return NULL(queue is plugged/paused)

Signed-off-by: Chetan Loke <loke.chetan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoaf-packet: Added TPACKET_V3 headers.
chetan loke [Fri, 19 Aug 2011 10:18:15 +0000 (10:18 +0000)]
af-packet: Added TPACKET_V3 headers.

Added TPACKET_V3 definitions.

Signed-off-by: Chetan Loke <loke.chetan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoIEEE802.15.4: 6LoWPAN basic support
Alexander Smirnov [Thu, 25 Aug 2011 02:34:42 +0000 (19:34 -0700)]
IEEE802.15.4: 6LoWPAN basic support

This patch provides base support for transmission of IPv6 packets as
well as the formation of IPv6 link-local addresses and statelessly
autoconfigured addresses on top of IEEE 802.15.4 networks.

For more information please look at the RFC4944 "Compression Format
for IPv6 Datagrams in Low Power and Losst Networks (6LoWPAN).

Signed-off-by: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: xfrm: convert to SKB frag APIs
Ian Campbell [Mon, 22 Aug 2011 23:45:01 +0000 (23:45 +0000)]
net: xfrm: convert to SKB frag APIs

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: ipv6: convert to SKB frag APIs
Ian Campbell [Mon, 22 Aug 2011 23:45:00 +0000 (23:45 +0000)]
net: ipv6: convert to SKB frag APIs

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Cc: "Pekka Savola (ipv6)" <pekkas@netcore.fi>
Cc: James Morris <jmorris@namei.org>
Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
Cc: Patrick McHardy <kaber@trash.net>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>