openwrt/staging/blogic.git
15 years agonet: Convert TCP/DCCP listening hash tables to use RCU
Eric Dumazet [Mon, 24 Nov 2008 01:22:55 +0000 (17:22 -0800)]
net: Convert TCP/DCCP listening hash tables to use RCU

This is the last step to be able to perform full RCU lookups
in __inet_lookup() : After established/timewait tables, we
add RCU lookups to listening hash table.

The only trick here is that a socket of a given type (TCP ipv4,
TCP ipv6, ...) can now flight between two different tables
(established and listening) during a RCU grace period, so we
must use different 'nulls' end-of-chain values for two tables.

We define a large value :

#define LISTENING_NULLS_BASE (1U << 29)

So that slots in listening table are guaranteed to have different
end-of-chain values than slots in established table. A reader can
still detect it finished its lookup in the right chain.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodccp: Header option insertion routine for feature-negotiation
Gerrit Renker [Mon, 24 Nov 2008 00:10:23 +0000 (16:10 -0800)]
dccp: Header option insertion routine for feature-negotiation

The patch extends existing code:
 * Confirm options divide into the confirmed value plus an optional preference
   list for SP values. Previously only the preference list was echoed for SP
   values, now the confirmed value is added as per RFC 4340, 6.1;
 * length and sanity checks are added to avoid illegal memory (or NULL) access.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodccp: Support for Mandatory options
Gerrit Renker [Mon, 24 Nov 2008 00:09:11 +0000 (16:09 -0800)]
dccp: Support for Mandatory options

Support for Mandatory options is provided by this patch, which will
be used by subsequent feature-negotiation patches.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodccp: Increase the scope of variable-length htonl/ntohl functions
Gerrit Renker [Mon, 24 Nov 2008 00:07:53 +0000 (16:07 -0800)]
dccp: Increase the scope of variable-length htonl/ntohl functions

This extends the scope of two available functions,
encode|decode_value_var, to work up to 6 (8) bytes, to match maximum
requirements in the RFC.

These functions are going to be used both by general option processing
and feature negotiation code, hence declarations have been put into
feat.h.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodccp: API to query the current TX/RX CCID
Gerrit Renker [Mon, 24 Nov 2008 00:04:59 +0000 (16:04 -0800)]
dccp: API to query the current TX/RX CCID

This provides function to query the current TX/RX CCID dynamically,
without reliance on the minisock value, using dynamic information
available in the currently loaded CCID module.

This query function is then used to
 (a) provide the getsockopt part for getting/setting CCIDs via sockopts;
 (b) replace the current test for "which CCID is in use" in probe.c.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodccp: Set per-connection CCIDs via socket options
Gerrit Renker [Mon, 24 Nov 2008 00:02:31 +0000 (16:02 -0800)]
dccp: Set per-connection CCIDs via socket options

With this patch, TX/RX CCIDs can now be changed on a per-connection
basis, which overrides the defaults set by the global sysctl variables
for TX/RX CCIDs.

To make full use of this facility, the remaining patches of this patch
set are needed, which track dependencies and activate negotiated
feature values.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agomyri10ge: update firmware headers
Brice Goglin [Sun, 23 Nov 2008 23:49:54 +0000 (15:49 -0800)]
myri10ge: update firmware headers

Update myri10ge firmware headers.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agomyri10ge: update DCA comments
Brice Goglin [Sun, 23 Nov 2008 23:49:28 +0000 (15:49 -0800)]
myri10ge: update DCA comments

Update DCA sections closing comments.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonet: af_netlink should update its inuse counter
Eric Dumazet [Sun, 23 Nov 2008 23:48:22 +0000 (15:48 -0800)]
net: af_netlink should update its inuse counter

In order to have relevant information for NETLINK protocol, in
/proc/net/protocols, we should use sock_prot_inuse_add() to
update a (percpu and pernamespace) counter of inuse sockets.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonet: some optimizations in af_inet
Eric Dumazet [Sun, 23 Nov 2008 23:42:23 +0000 (15:42 -0800)]
net: some optimizations in af_inet

1) Use eq_net() in inet_netns_ok() to speedup socket creation if
   !CONFIG_NET_NS

2) Reorder the tests about inet_ehash_secret generation (once only)
   Use the unlikely() macro when testing if inet_ehash_secret already
   generated.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoMerge branch 'for-david' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6
David S. Miller [Sat, 22 Nov 2008 05:30:58 +0000 (21:30 -0800)]
Merge branch 'for-david' of git://git./linux/kernel/git/chris/linux-2.6

15 years agoigb: do not use phy ops in ethtool test cleanup for non-copper parts
Alexander Duyck [Sat, 22 Nov 2008 05:30:24 +0000 (21:30 -0800)]
igb: do not use phy ops in ethtool test cleanup for non-copper parts

Currently the igb driver is experiencing a panic due to a null function
pointer being used during the cleanup of the ethtool looback test on
fiber/serdes parts.  This patch prevents that and adds a check prior to
calling any phy function.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoenic: misc cleanup items:
Scott Feldman [Sat, 22 Nov 2008 05:29:25 +0000 (21:29 -0800)]
enic: misc cleanup items:

Clarrify reading PBA has no side-effect (clearing).
Add missing GPL license text.

Signed-off-by: Scott Feldman <scofeldm@cisco.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoenic: move wmb closer to where needed: before writing posted_index to hw
Scott Feldman [Sat, 22 Nov 2008 05:29:01 +0000 (21:29 -0800)]
enic: move wmb closer to where needed: before writing posted_index to hw

Signed-off-by: Scott Feldman <scofeldm@cisco.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoenic: mask off some reserved bits in CQ descriptor for future use
Scott Feldman [Sat, 22 Nov 2008 05:28:40 +0000 (21:28 -0800)]
enic: mask off some reserved bits in CQ descriptor for future use

Signed-off-by: Scott Feldman <scofeldm@cisco.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoenic: driver/firmware API updates
Scott Feldman [Sat, 22 Nov 2008 05:28:18 +0000 (21:28 -0800)]
enic: driver/firmware API updates

Add driver/firmware compatibility check.
Update firmware notify cmd to honor notify area size.
Add new version of init cmd.
Add link_down_cnt to notify area to track link down count.

Signed-off-by: Scott Feldman <scofeldm@cisco.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoenic: enable ethtool LRO support
Scott Feldman [Sat, 22 Nov 2008 05:26:55 +0000 (21:26 -0800)]
enic: enable ethtool LRO support

Enable ethtool support for get/set_flags so LRO can be turned on/off
by fwding drivers such as the bridge driver.  LRO is not compatible
with fwding drivers.

Signed-off-by: Scott Feldman <scofeldm@cisco.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoWAN pc300too.c: Fix PC300-X.21 detection
Krzysztof Hałasa [Thu, 20 Nov 2008 14:51:05 +0000 (15:51 +0100)]
WAN pc300too.c: Fix PC300-X.21 detection

pc300too driver works around a bug in PCI9050 bridge.  Unfortunately
it was doing that too late.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
15 years agoWAN: syncppp.c is no longer used by any kernel code. Remove it.
Krzysztof Hałasa [Thu, 14 Aug 2008 17:18:17 +0000 (19:18 +0200)]
WAN: syncppp.c is no longer used by any kernel code. Remove it.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
15 years agoWAN: new synchronous PPP implementation for generic HDLC.
Krzysztof Hałasa [Thu, 14 Aug 2008 17:17:38 +0000 (19:17 +0200)]
WAN: new synchronous PPP implementation for generic HDLC.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
15 years agoWAN: Simplify sca_init_port() in HD64572 driver.
Krzysztof Hałasa [Thu, 10 Jul 2008 22:13:09 +0000 (00:13 +0200)]
WAN: Simplify sca_init_port() in HD64572 driver.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
15 years agoWAN: Correct comments in hd6457[02].c
Krzysztof Hałasa [Wed, 9 Jul 2008 22:30:51 +0000 (00:30 +0200)]
WAN: Correct comments in hd6457[02].c

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
15 years agoWAN: HD64572 drivers don't use next_desc() anymore.
Krzysztof Hałasa [Wed, 9 Jul 2008 21:39:12 +0000 (23:39 +0200)]
WAN: HD64572 drivers don't use next_desc() anymore.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
15 years agoWAN: Simplify HD64572 drivers.
Krzysztof Hałasa [Wed, 9 Jul 2008 21:13:49 +0000 (23:13 +0200)]
WAN: Simplify HD64572 drivers.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
15 years agoWAN: don't print HD64572 driver versions anymore.
Krzysztof Hałasa [Wed, 9 Jul 2008 19:30:17 +0000 (21:30 +0200)]
WAN: don't print HD64572 driver versions anymore.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
15 years agoWAN: Simplify HD64572 status handling.
Krzysztof Hałasa [Wed, 9 Jul 2008 19:24:42 +0000 (21:24 +0200)]
WAN: Simplify HD64572 status handling.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
15 years agoWAN: rework HD64572 interrupts a bit.
Krzysztof Hałasa [Wed, 9 Jul 2008 17:28:45 +0000 (19:28 +0200)]
WAN: rework HD64572 interrupts a bit.
Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
15 years agoWAN: HD64572 already handles TX underruns with DMAC.
Krzysztof Hałasa [Wed, 9 Jul 2008 18:01:23 +0000 (20:01 +0200)]
WAN: HD64572 already handles TX underruns with DMAC.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
15 years agoWAN: TX-done handler now uses the ownership bit in HD64572 drivers.
Krzysztof Hałasa [Wed, 9 Jul 2008 17:47:05 +0000 (19:47 +0200)]
WAN: TX-done handler now uses the ownership bit in HD64572 drivers.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
15 years agoWAN: convert HD64572-based drivers to NAPI.
Krzysztof Hałasa [Wed, 9 Jul 2008 14:49:37 +0000 (16:49 +0200)]
WAN: convert HD64572-based drivers to NAPI.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
15 years agoWAN: remove SCA support from SCA-II drivers
Krzysztof Hałasa [Mon, 24 Mar 2008 19:24:23 +0000 (20:24 +0100)]
WAN: remove SCA support from SCA-II drivers

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
15 years agoWAN: remove SCA II support from SCA drivers
Krzysztof Hałasa [Mon, 24 Mar 2008 18:12:23 +0000 (19:12 +0100)]
WAN: remove SCA II support from SCA drivers

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
15 years agoWAN: split hd6457x.c into hd64570.c and hd64572.c
Krzysztof Hałasa [Mon, 24 Mar 2008 15:39:02 +0000 (16:39 +0100)]
WAN: split hd6457x.c into hd64570.c and hd64572.c

Supporting both original SCA and SCA-II in one file was nice at some
point but now it's increasingly painful.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
15 years agone2k: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:39:02 +0000 (17:39 -0800)]
ne2k: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.
This required some additional work to export common code ei_XXX.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoeql: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:37:54 +0000 (17:37 -0800)]
eql: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosc92031: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:37:24 +0000 (17:37 -0800)]
sc92031: convert to net_device_ops

Convert this driver to net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoqla3xxx: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:36:58 +0000 (17:36 -0800)]
qla3xxx: convert to net_device_ops

Convert this driver to net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agohamachi: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:36:36 +0000 (17:36 -0800)]
hamachi: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:36:04 +0000 (17:36 -0800)]
bnx2x: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agons83820: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:35:40 +0000 (17:35 -0800)]
ns83820: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoyellowfin: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:35:16 +0000 (17:35 -0800)]
yellowfin: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agor6040: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:34:56 +0000 (17:34 -0800)]
r6040: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosis900: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:34:32 +0000 (17:34 -0800)]
sis900: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agotehuti: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:34:09 +0000 (17:34 -0800)]
tehuti: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosfc: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:32:54 +0000 (17:32 -0800)]
sfc: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonetxen: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:32:15 +0000 (17:32 -0800)]
netxen: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.
Had to do some refactoring on multicast_list.
Fix ethtool restart to propogate error code.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodl2k: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:31:51 +0000 (17:31 -0800)]
dl2k: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:31:27 +0000 (17:31 -0800)]
bnx2: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agomlx4: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:30:58 +0000 (17:30 -0800)]
mlx4: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agomyri10ge: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:30:35 +0000 (17:30 -0800)]
myri10ge: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agovia-rhine: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:30:11 +0000 (17:30 -0800)]
via-rhine: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoqlge: fix sparse warnings
Stephen Hemminger [Sat, 22 Nov 2008 01:29:50 +0000 (17:29 -0800)]
qlge: fix sparse warnings

Fix sparse warnings and one bug:
    * Several routines can be static
    * Don't lose __iomem annotation
    * fix locking on error path (bug)

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoqlge: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:29:16 +0000 (17:29 -0800)]
qlge: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agos2io: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:28:55 +0000 (17:28 -0800)]
s2io: convert to net_device_ops

Convert this driver to network device ops. Compile teseted only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agojme: convert driver to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:28:33 +0000 (17:28 -0800)]
jme: convert driver to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agotg3: Update version to 3.96
Matt Carlson [Sat, 22 Nov 2008 01:23:26 +0000 (17:23 -0800)]
tg3: Update version to 3.96

This patch updates the version number to 3.96.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobroadcom: Add 57780 support
Matt Carlson [Sat, 22 Nov 2008 01:22:53 +0000 (17:22 -0800)]
broadcom: Add 57780 support

This patch adds the 57780 PHY ID to the broadcom module.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agotg3: Add 57780 support
Matt Carlson [Sat, 22 Nov 2008 01:22:19 +0000 (17:22 -0800)]
tg3: Add 57780 support

This patch adds support for the 57780 ASIC revision.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agotg3: Allow GPHY powerdown on 5761
Matt Carlson [Sat, 22 Nov 2008 01:21:13 +0000 (17:21 -0800)]
tg3: Allow GPHY powerdown on 5761

The ENABLE_APE flag tells the driver whether or not the device has an
Application Processing Engine (APE).  The APE does not need the PHY to
be powered unless it is running management firmware.  For backwards
compatibility, management firmware will still set the ENABLE_ASF bit.
Consequently, there is no reason to consider the ENABLE_APE flag when
deciding whether or not to power down the phy.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agotg3: Embrace pci_ioremap_bar()
Matt Carlson [Sat, 22 Nov 2008 01:20:32 +0000 (17:20 -0800)]
tg3: Embrace pci_ioremap_bar()

Per Dave Miller's suggestion, replace the remaining ioremap_nocache()
call with pci_ioremap_bar().  Remove the two IORESOURCE_MEM checks as
they are redundant.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agotg3: Extract FW ver from alt NVRAM formats
Matt Carlson [Sat, 22 Nov 2008 01:19:41 +0000 (17:19 -0800)]
tg3: Extract FW ver from alt NVRAM formats

This patch extracts the bootcode firmware version from the alternate
selfboot patch NVRAM format.  This format is used on the 5784, 5761 and
some newer devices.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agotg3: Enable GPHY APD on select devices
Matt Carlson [Sat, 22 Nov 2008 01:18:59 +0000 (17:18 -0800)]
tg3: Enable GPHY APD on select devices

GPHY Autopowerdown (APD) is a way to save power when energy is not
detected on the wire.  At the moment, only the 5784 and 5761 are
capable of enabling this mode.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agotg3: Prevent corruption at 10 / 100Mbps w CLKREQ
Matt Carlson [Sat, 22 Nov 2008 01:18:16 +0000 (17:18 -0800)]
tg3: Prevent corruption at 10 / 100Mbps w CLKREQ

This patch disables CLKREQ at 10Mbps and 100Mbps to workaround a TX BD
corruption issue.  This problem only affects the 5784 and 5761 (and
57780 AX) ASIC revisions.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agotg3: Qualify use of tp->pcix_cap
Matt Carlson [Sat, 22 Nov 2008 01:17:04 +0000 (17:17 -0800)]
tg3: Qualify use of tp->pcix_cap

This patch makes sure the device is a PCIX device before attempting to
use the pcix_cap device structure member.  This is prep work for the
following patch.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agotg3: Use NET_IP_ALIGN
Matt Carlson [Sat, 22 Nov 2008 01:16:16 +0000 (17:16 -0800)]
tg3: Use NET_IP_ALIGN

This patch replaces hardcoded 2's with the NET_IP_ALIGN constant or
TG3_RAW_IP_ALIGN where appropriate.  Some platforms can redefine the
NET_IP_ALIGN definition to zero if unaligned DMA transfers cost more
than the IP header alignment gains.  This patch represents a
performance improvement when using the 5701 on these platforms.
The copy path can be avoided.

TG3_RAW_IP_ALIGN is used in cases where we always want to align the
IP header on dword boundaries.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonet: remove redundant argument comments
Qinghuang Feng [Sat, 22 Nov 2008 01:15:03 +0000 (17:15 -0800)]
net: remove redundant argument comments

Remove redundant argument comments in files of net/*

Signed-off-by: Qinghuang Feng <qhfeng.kernel@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
David S. Miller [Sat, 22 Nov 2008 01:05:11 +0000 (17:05 -0800)]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless-next-2.6

15 years agoe1000e: check return code from NVM accesses and fix bank detection
Bruce Allan [Sat, 22 Nov 2008 01:02:41 +0000 (17:02 -0800)]
e1000e: check return code from NVM accesses and fix bank detection

Check return code for all NVM accesses[1] and error out accordingly; log
a debug message for failed accesses.

For ICH8/9, the valid NVM bank detect function was not checking whether the
SEC1VAL (sector 1 valid) bit in the EECD register was itself valid (bits 8
and 9 also have to be set).  If invalid, it would have defaulted to the
possibly invalid bank 0.  Instead, try to use the valid bank detection
method used by ICH10 which has been cleaned up a bit.

[1] - reads and updates only; not writes because those are only writing to
the Shadow RAM, the update following the write is the only thing actually
writing the modified Shadow RAM contents to the NVM.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoe1000e: fix incorrect link status when switch module pulled
Bruce Allan [Sat, 22 Nov 2008 01:01:35 +0000 (17:01 -0800)]
e1000e: fix incorrect link status when switch module pulled

On 82571 with SerDes, the true link state is not always correct when read
from the STATUS register; use existing e1000_has_link() function instead.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoe1000e: store EEPROM version number to prevent unnecessary NVM reads
Bruce Allan [Sat, 22 Nov 2008 01:00:22 +0000 (17:00 -0800)]
e1000e: store EEPROM version number to prevent unnecessary NVM reads

Rather than reading the NVM to get the EEPROM version number everytime the
ethool get_drvinfo function is called, read it once during probe and save
it for future reference.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoe1000e: cosmetic newline in debug message
Bruce Allan [Sat, 22 Nov 2008 00:59:54 +0000 (16:59 -0800)]
e1000e: cosmetic newline in debug message

Add missing newline from debug message.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoe1000e: sync change flow control variables with ixgbe
Bruce Allan [Sat, 22 Nov 2008 00:57:36 +0000 (16:57 -0800)]
e1000e: sync change flow control variables with ixgbe

Sync flow control variables and usage model with that found in the ixgbe
driver.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoe1000e: link up/down messages must follow a specific format
Bruce Allan [Sat, 22 Nov 2008 00:54:43 +0000 (16:54 -0800)]
e1000e: link up/down messages must follow a specific format

The system log messages created on a link status change need to follow a
specific format to work with tools some customers use.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoe1000e: ESB2 config after link up
Bruce Allan [Sat, 22 Nov 2008 00:53:51 +0000 (16:53 -0800)]
e1000e: ESB2 config after link up

On ESB2, the MAC-to-PHY (Kumeran) interface must be configured after link
is up before any traffic is sent; a new PHY operations function pointer is
provided for this.  To facilitate read/write of the Kumeran registers
without blocking PHY register writes, the driver/firmware synchronization
method which previously used a hardware semaphore for both PHY and Kumeran
register accesses is now split.  New Kumeran register read/write functions
utilize this new synchronization method.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoe1000e: check return of pci_save_state
Bruce Allan [Sat, 22 Nov 2008 00:51:33 +0000 (16:51 -0800)]
e1000e: check return of pci_save_state

Check return of pci_save_state and error out accordingly.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoe1000e: update comments listing supported parts for each MAC family
Bruce Allan [Sat, 22 Nov 2008 00:51:06 +0000 (16:51 -0800)]
e1000e: update comments listing supported parts for each MAC family

Some branding strings (displayed via lspci) are missing from the comments in
various family-specific files in the driver.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoe1000e: 82571 check for link fix on 82571 serdes
Bruce Allan [Sat, 22 Nov 2008 00:50:34 +0000 (16:50 -0800)]
e1000e: 82571 check for link fix on 82571 serdes

Check for link test does not work properly for 82571 parts in a blade
environment with an unterminated serdes link partner.  Make the test more
robust by checking the invalid bit.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoe1000e: commit speed/duplex changes for m88 PHY
Bruce Allan [Sat, 22 Nov 2008 00:49:53 +0000 (16:49 -0800)]
e1000e: commit speed/duplex changes for m88 PHY

Follow the convention used elsewhere in e1000e to 'commit' PHY changes
instead of directly writing to the PHY CTRL register to reset it.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoe1000e: disable correctable errors for quad ports while going to D3
Alexander Duyck [Sat, 22 Nov 2008 00:49:10 +0000 (16:49 -0800)]
e1000e: disable correctable errors for quad ports while going to D3

There has been an issue seen with the pci-e quad port adapters that will
cause them to generate a pci-e correctable error on some system while
transitioning to D3.

Since no action is needed on this correctable error the simplest solution
is to mask off the reporting of correctable errors.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoinet_diag: Missed conversion after changing inet ehash lockl to spinlocks.
David S. Miller [Sat, 22 Nov 2008 00:39:19 +0000 (16:39 -0800)]
inet_diag: Missed conversion after changing inet ehash lockl to spinlocks.

They are no longer a rwlocks.

Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonetdevice pc300: Add the reason about PC300 BROKEN in Kconfig
Wang Chen [Sat, 22 Nov 2008 00:36:22 +0000 (16:36 -0800)]
netdevice pc300: Add the reason about PC300 BROKEN in Kconfig

When compile test my previous patch, I found PC300 driver was broken.
And there is no explanation about the broken.
Add the reason about why change this driver to broken in Kconfig.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonetdevice pc300: Convert directly reference of netdev->priv
Wang Chen [Sat, 22 Nov 2008 00:35:44 +0000 (16:35 -0800)]
netdevice pc300: Convert directly reference of netdev->priv

netdev's private data should be hdlc.
pc300dev_t is the private data of hdlc.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonetdevice hdlc: Convert directly reference of netdev->priv
Wang Chen [Sat, 22 Nov 2008 00:34:18 +0000 (16:34 -0800)]
netdevice hdlc: Convert directly reference of netdev->priv

For killing directly reference of netdev->priv, use netdev->ml_priv to replace it.
Because the private pvc data comes from add_pvc() and can't be allocated in
alloc_netdev().

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Acked-by: Krzysztof Halasa <khc@pm.waw.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonet: use net_eq() in INET_MATCH and INET_TW_MATCH
Eric Dumazet [Fri, 21 Nov 2008 23:49:19 +0000 (15:49 -0800)]
net: use net_eq() in INET_MATCH and INET_TW_MATCH

We can avoid some useless instructions if !CONFIG_NET_NS

Because of RCU, we use INET_MATCH or INET_TW_MATCH twice for the found
socket, so thats six instructions less per incoming TCP packet.

Yet another tbench speedup :)

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agowireless: missing include in lib80211.h
Rami Rosen [Wed, 19 Nov 2008 07:37:43 +0000 (09:37 +0200)]
wireless: missing include in lib80211.h

This patch adds #include <linux/timer.h> in lib80211.h to avoid
these compilation erros.

> In file included from /work/src/wireless-testing/net/wireless/lib80211.c:24:
> /work/src/wireless-testing/include/net/lib80211.h:113: error: field
> 'crypt_deinit_timer' has incomplete type
> /work/src/wireless-testing/net/wireless/lib80211.c: In function
> 'lib80211_crypt_info_init':
> /work/src/wireless-testing/net/wireless/lib80211.c:83: error: implicit
> declaration of function 'setup_timer'
> /work/src/wireless-testing/net/wireless/lib80211.c: In function
> 'lib80211_crypt_info_free':
> /work/src/wireless-testing/net/wireless/lib80211.c:95: error: implicit
> declaration of function 'del_timer_sync'
> /work/src/wireless-testing/net/wireless/lib80211.c: In function
> 'lib80211_crypt_deinit_handler':
> /work/src/wireless-testing/net/wireless/lib80211.c:157: error:
> implicit declaration of function 'add_timer'
> /work/src/wireless-testing/net/wireless/lib80211.c: In function
> 'lib80211_crypt_delayed_deinit':
> /work/src/wireless-testing/net/wireless/lib80211.c:182: error:
> implicit declaration of function 'timer_pending'
> make[3]: *** [net/wireless/lib80211.o] Error 1
> make[2]: *** [net/wireless] Error 2
> make[1]: *** [net] Error 2
> make: *** [sub-make] Error 2

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agortl8187: Update file authorship in comments
Larry Finger [Wed, 12 Nov 2008 23:31:52 +0000 (17:31 -0600)]
rtl8187: Update file authorship in comments

Modify the file comments to reflect the current maintainers.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Acked-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Acked-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoUpdate of MAINTAINERS for RTL8187
Larry Finger [Wed, 12 Nov 2008 23:13:09 +0000 (17:13 -0600)]
Update of MAINTAINERS for RTL8187

As noted by John Linville, the RTL818X maintainers have "moved on", and the
responsibilities for RTL8180 and RTL8187 have been split. This is the
corresponding update of MAINTAINERS.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Acked-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Acked-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agowireless: clean up sysfs code using %pM
Johannes Berg [Tue, 28 Oct 2008 13:00:54 +0000 (14:00 +0100)]
wireless: clean up sysfs code using %pM

Remove converting the MAC address to a string by a direct byte
conversion and use %pM instead, since the code is now boilerplate
use a macro to define the show functions, and also use the shorter
__ATTR_RO macro to define the attributes.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoMAINTAINERS: claim maintenance over rtl818x drivers
John W. Linville [Wed, 12 Nov 2008 19:51:56 +0000 (14:51 -0500)]
MAINTAINERS: claim maintenance over rtl818x drivers

Michael and Andrea have moved-on, so we shouldn't be bothering them
about these drivers anymore.

Actually, Herton Ronaldo Krzesinski, Hin-Tak Leung, and Larry Finger
have been handling the rtl8187 stuff for a while.  So, I would welcome a
patch from one of them changing this to just RTL8180 and adding an
RTL8187 entry with their names...

Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agortl8180: adapt for deprecated IEEE80211_CONF_SHORT_SLOT_TIME flag
John W. Linville [Wed, 12 Nov 2008 19:37:11 +0000 (14:37 -0500)]
rtl8180: adapt for deprecated IEEE80211_CONF_SHORT_SLOT_TIME flag

This updates rtl8180 handling for short slot after "mac80211: fix short
slot handling". Only rtl8180_rtl8225 actually had code for handling
short slot times, so the other RF devices are untouched by this change.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: add explicit padding in struct ieee80211_tx_info
John W. Linville [Wed, 12 Nov 2008 15:01:41 +0000 (10:01 -0500)]
mac80211: add explicit padding in struct ieee80211_tx_info

Otherwise, the BUILD_BUG_ON calls in ieee80211_tx_info_clear_status can
fail on some architectures.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agonet/ieee80211 -> drivers/net/ipw2x00/libipw_* rename
John W. Linville [Tue, 11 Nov 2008 21:45:38 +0000 (16:45 -0500)]
net/ieee80211 -> drivers/net/ipw2x00/libipw_* rename

The old ieee80211 code only remains as a support library for the ipw2100
and ipw2200 drivers.  So, move the code and rename it appropriately to
reflects it's true purpose and status.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoipw2x00: relocate ipw2100/ipw2200 to common directory
John W. Linville [Tue, 11 Nov 2008 21:22:09 +0000 (16:22 -0500)]
ipw2x00: relocate ipw2100/ipw2200 to common directory

Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agolib80211: consolidate crypt init routines
John W. Linville [Tue, 11 Nov 2008 21:00:06 +0000 (16:00 -0500)]
lib80211: consolidate crypt init routines

Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agolib80211: absorb crypto bits from net/ieee80211
John W. Linville [Wed, 29 Oct 2008 15:35:05 +0000 (11:35 -0400)]
lib80211: absorb crypto bits from net/ieee80211

These bits are shared already between ipw2x00 and hostap, and could
probably be shared both more cleanly and with other drivers.  This
commit simply relocates the code to lib80211 and adjusts the drivers
appropriately.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoorinoco: fix last beacon reporting on 64-bit systems
Pavel Roskin [Mon, 10 Nov 2008 14:25:53 +0000 (09:25 -0500)]
orinoco: fix last beacon reporting on 64-bit systems

orinoco_translate_scan() and orinoco_translate_ext_scan() wrongly
truncate last_scanned argument from unsigned long to unsigned int.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: remove unnecessary include.
Rami Rosen [Mon, 10 Nov 2008 07:01:09 +0000 (09:01 +0200)]
mac80211: remove unnecessary include.

This patch removes unnecessary #include <linux/netdevice.h> from
/net/mac80211/mlme.c.

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agort2x00: Fix race condition when using inderect registers
Ivo van Doorn [Sun, 9 Nov 2008 22:40:46 +0000 (23:40 +0100)]
rt2x00: Fix race condition when using inderect registers

Indirect registers require multiple calls to the CSR
register in order to access the indirect registers.
This must be protected under a lock to prevent race
conditions which could cause invalid data to
be returned when reading from the indirect register or silent
failures when writing data to the indirect register.

USB drivers where already protected under a mutex,
so rename the mutex and make PCI drivers use the mutex
as well.
This now means that BBP and RF registers are no longer
accessible in interrupt context. That is not a bad
situation since the slow behavior of accessing
those registers means we don't _want_ to access them
in interrupt context either.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agort2x00: Optimize get_duration / get_duration_res
Ivo van Doorn [Sun, 9 Nov 2008 19:47:00 +0000 (20:47 +0100)]
rt2x00: Optimize get_duration / get_duration_res

We can optimize get_duration and get_duration_res
by making them a macro. They are really simple
calculation handlers so this doesn't matter much.

Often (especially in rt2400pci and rt2500pci,
the arguments are hardcoded, and the result value
is passed into other hardcoded values.

By making the functions a macro GCC can
optimize the entire thing much better.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agodrivers/net/wireless/ath9k/rc.c: use ARRAY_SIZE
Julia Lawall [Sun, 9 Nov 2008 16:56:10 +0000 (17:56 +0100)]
drivers/net/wireless/ath9k/rc.c: use ARRAY_SIZE

ARRAY_SIZE is more concise to use when the size of an array is divided by
the size of its type or the size of its first element.

The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@i@
@@

#include <linux/kernel.h>

@depends on i using "paren.iso"@
type T;
T[] E;
@@

- (sizeof(E)/sizeof(E[...]))
+ ARRAY_SIZE(E)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>