openwrt/staging/blogic.git
13 years agofs_enet: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:23:08 +0000 (09:23 -0500)]
fs_enet: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Cc: Pantelis Antoniou <[email protected]>
Cc: Vitaly Bordug <[email protected]>
Cc: [email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agodlink: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:23:07 +0000 (09:23 -0500)]
dlink: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agodm9000: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:23:06 +0000 (09:23 -0500)]
dm9000: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agoenic: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:23:05 +0000 (09:23 -0500)]
enic: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Cc: Christian Benvenuti <[email protected]>
Cc: Roopa Prabhu <[email protected]>
Cc: Neel Patel <[email protected]>
Cc: Nishank Trivedi <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agochelsio: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:23:04 +0000 (09:23 -0500)]
chelsio: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agocxgb4vf: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:23:03 +0000 (09:23 -0500)]
cxgb4vf: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Cc: Casey Leedom <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agocxgb4: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:23:02 +0000 (09:23 -0500)]
cxgb4: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Cc: Dimitris Michailidis <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agocxgb3: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:23:01 +0000 (09:23 -0500)]
cxgb3: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Cc: Divy Le Ray <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agobna: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:23:00 +0000 (09:23 -0500)]
bna: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Cc: Rasesh Mody <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agotg3: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:22:59 +0000 (09:22 -0500)]
tg3: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Cc: Matt Carlson <[email protected]>
Cc: Michael Chan <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agobnx2: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:22:58 +0000 (09:22 -0500)]
bnx2: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Cc: Michael Chan <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agob44: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:22:57 +0000 (09:22 -0500)]
b44: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Cc: Gary Zambrano <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agopcnet32: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:22:56 +0000 (09:22 -0500)]
pcnet32: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Cc: Don Fry <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agoaeroflex: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:22:55 +0000 (09:22 -0500)]
aeroflex: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Cc: Kristoffer Glembo <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agobfin_mac: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:22:54 +0000 (09:22 -0500)]
bfin_mac: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Cc: [email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agostarfire: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:22:53 +0000 (09:22 -0500)]
starfire: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Cc: Ion Badulescu <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agoacenic: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:22:52 +0000 (09:22 -0500)]
acenic: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Cc: Jes Sorensen <[email protected]>
Cc: [email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years ago8390: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:22:51 +0000 (09:22 -0500)]
8390: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years ago3c509: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:22:50 +0000 (09:22 -0500)]
3c509: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agotyphoon: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:22:49 +0000 (09:22 -0500)]
typhoon: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Cc: David Dillow <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years ago3c59x: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:22:48 +0000 (09:22 -0500)]
3c59x: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Cc: Steffen Klassert <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agoi825xx: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:22:47 +0000 (09:22 -0500)]
i825xx: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agoi825xx/ether1.c: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:22:46 +0000 (09:22 -0500)]
i825xx/ether1.c: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Cc: Russell King <[email protected]>
Cc: [email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agodrivers/net/ethernet/amd/am79c961a.c: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:22:45 +0000 (09:22 -0500)]
drivers/net/ethernet/amd/am79c961a.c: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Cc: Russell King <[email protected]>
Cc: [email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agocan: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:22:44 +0000 (09:22 -0500)]
can: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Cc: Wolfgang Grandegger <[email protected]>
Cc: Marc Kleine-Budde <[email protected]>
Cc: [email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agoARCNET: remove __dev* attributes
Bill Pemberton [Mon, 3 Dec 2012 14:22:43 +0000 (09:22 -0500)]
ARCNET: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.

Signed-off-by: Bill Pemberton <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
13 years agobna: remove useless calls to memset().
Cyril Roelandt [Sat, 1 Dec 2012 16:40:17 +0000 (16:40 +0000)]
bna: remove useless calls to memset().

These calls are followed by calls to memcpy() on the same memory area, so they
can safely be removed.

Signed-off-by: Cyril Roelandt <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agotcp: don't abort splice() after small transfers
Willy Tarreau [Sun, 2 Dec 2012 11:49:27 +0000 (11:49 +0000)]
tcp: don't abort splice() after small transfers

TCP coalescing added a regression in splice(socket->pipe) performance,
for some workloads because of the way tcp_read_sock() is implemented.

The reason for this is the break when (offset + 1 != skb->len).

As we released the socket lock, this condition is possible if TCP stack
added a fragment to the skb, which can happen with TCP coalescing.

So let's go back to the beginning of the loop when this happens,
to give a chance to splice more frags per system call.

Doing so fixes the issue and makes GRO 10% faster than LRO
on CPU-bound splice() workloads instead of the opposite.

Signed-off-by: Willy Tarreau <[email protected]>
Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agonet: fix sparse endianness warnings on sock_common
Eric Dumazet [Sun, 2 Dec 2012 07:33:10 +0000 (07:33 +0000)]
net: fix sparse endianness warnings on sock_common

# make C=2 CF=-D__CHECK_ENDIAN__ net/ipv4/inet_hashtables.o
...
net/ipv4/inet_hashtables.c:242:7: warning: restricted __portpair degrades to integer
net/ipv4/inet_hashtables.c:242:7: warning: restricted __addrpair degrades to integer
...

Move __portpair/__addrpair from include/net/inet_hashtables.h
to include/net/sock.h where we need them in struct sock_common

Reported-by: Fengguang Wu <[email protected]>
Signed-off-by: Eric Dumazet <[email protected]>
Cc: Ling Ma <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agobnx2x: Correct PFC disablement
Barak Witkowski [Sun, 2 Dec 2012 04:05:57 +0000 (04:05 +0000)]
bnx2x: Correct PFC disablement

bnx2x driver could only have enabled pfc via usage of dcbnl; now, it can
also correctly disable it.

Signed-off-by: Barak Witkowski <[email protected]>
Signed-off-by: Yuval Mintz <[email protected]>
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agobnx2x: fix 'Ethtool -A' when autoneg
Yuval Mintz [Sun, 2 Dec 2012 04:05:56 +0000 (04:05 +0000)]
bnx2x: fix 'Ethtool -A' when autoneg

When configuring pauses using 'ethtool -A', the requested values have
effect when used together with autoneg (up to this point, when configured
for autoneg, driver ignored requested pause configuration)

Signed-off-by: Yuval Mintz <[email protected]>
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agobnx2x: prevent DCB if disabled in nvram
Barak Witkowski [Sun, 2 Dec 2012 04:05:55 +0000 (04:05 +0000)]
bnx2x: prevent DCB if disabled in nvram

Signed-off-by: Barak Witkowski <[email protected]>
Signed-off-by: Yuval Mintz <[email protected]>
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agobnx2x: Handle a rarely missed interrupt
Yaniv Rosner [Sun, 2 Dec 2012 04:05:54 +0000 (04:05 +0000)]
bnx2x: Handle a rarely missed interrupt

A rare case of no link due to a missed interrupt may occur due to a
race condition between acknowledging the IGU via the BAR and restoring the NIG
interrupt mask via the GRC.
To solve it, we wait for the IGU ack command to finish prior to restoring the
NIG interrupt mask.

Signed-off-by: Yaniv Rosner <[email protected]>
Signed-off-by: Yuval Mintz <[email protected]>
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agobnx2x: mask CPL_OF interrupt
Yuval Mintz [Sun, 2 Dec 2012 04:05:53 +0000 (04:05 +0000)]
bnx2x: mask CPL_OF interrupt

Unmasked interrupt caused "FATAL HW block attention set2 0x20" messages
to erroneously appear, as the associated interrupt is fully recoverable.

Signed-off-by: Yuval Mintz <[email protected]>
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agobnx2x: IGU parse error cause probe failure
Barak Witkowski [Sun, 2 Dec 2012 04:05:52 +0000 (04:05 +0000)]
bnx2x: IGU parse error cause probe failure

If IGU parse error is encountered during the probing process, the error
propagates and the probe gracefully fails (until now, such errors were ignored,
later causing mischief).

Signed-off-by: Barak Witkowski <[email protected]>
Signed-off-by: Yuval Mintz <[email protected]>
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agobnx2x: Ext. config accessed only on non-E1x.
Yuval Mintz [Sun, 2 Dec 2012 04:05:51 +0000 (04:05 +0000)]
bnx2x: Ext. config accessed only on non-E1x.

Signed-off-by: Yuval Mintz <[email protected]>
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agobnx2x: nvram enables dropless flow control
Yuval Mintz [Sun, 2 Dec 2012 04:05:50 +0000 (04:05 +0000)]
bnx2x: nvram enables dropless flow control

It is now possible to enable dropless flow control via nvram.

Signed-off-by: Yuval Mintz <[email protected]>
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agobnx2x: Correct advertised speed/duplex
Yuval Mintz [Sun, 2 Dec 2012 04:05:49 +0000 (04:05 +0000)]
bnx2x: Correct advertised speed/duplex

If link is down due to management (and not due to actual phy link being lost),
driver should still behave as if the link is down; Querying via ethtool about
speed/duplex state should result in 'UNKNOWN' (same behaviour as when link is
actually down).

Signed-off-by: Yuval Mintz <[email protected]>
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agobnx2x: Filter packets on FCoE rings
Dmitry Kravkov [Sun, 2 Dec 2012 04:05:48 +0000 (04:05 +0000)]
bnx2x: Filter packets on FCoE rings

Whenever bnx2x fails to transmit a packet due to a full Tx ring, if the
ring size is zero (indicating an FCoE ring) driver filters the packet out
and gracefully continues.
Driver also gathers statistics on such filtered packets.

Signed-off-by: Dmitry Kravkov <[email protected]>
Signed-off-by: Yuval Mintz <[email protected]>
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agobnx2x: Management can control PFC/ETS
Barak Witkowski [Sun, 2 Dec 2012 04:05:47 +0000 (04:05 +0000)]
bnx2x: Management can control PFC/ETS

If configured for PFC/ETS by management, configure chip regardless of the
presence of a remote peer which supports DCBX.

Signed-off-by: Barak Witkowski <[email protected]>
Signed-off-by: Yuval Mintz <[email protected]>
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agobnx2x: parity recovery flow enhancement
Barak Witkowski [Sun, 2 Dec 2012 04:05:46 +0000 (04:05 +0000)]
bnx2x: parity recovery flow enhancement

Parity recovery was enhanced in order to handle a few more corner cases.

Signed-off-by: Barak Witkowski <[email protected]>
Signed-off-by: Yuval Mintz <[email protected]>
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agobnx2x: revised and corrected SPIO access
Yuval Mintz [Sun, 2 Dec 2012 04:05:45 +0000 (04:05 +0000)]
bnx2x: revised and corrected SPIO access

Changed naming convention of SPIO macros, and prevented access to invalid SPIOs.

Signed-off-by: Yuval Mintz <[email protected]>
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agonet/mlx4_en: Set number of rx/tx channels using ethtool
Amir Vadai [Sun, 2 Dec 2012 03:49:23 +0000 (03:49 +0000)]
net/mlx4_en: Set number of rx/tx channels using ethtool

Add support to changing number of rx/tx channels using
ethtool ('ethtool -[lL]'). Where the number of tx channels specified in ethtool
is the number of rings per user priority - not total number of tx rings.

Signed-off-by: Amir Vadai <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agonet/mlx4_en: Fix TX moderation info loss after set_ringparam is called
Amir Vadai [Sun, 2 Dec 2012 03:49:22 +0000 (03:49 +0000)]
net/mlx4_en: Fix TX moderation info loss after set_ringparam is called

We need to re-set tx moderation information after calling set_ringparam
else default tx moderation will be used.
Also avoid related code duplication, by putting it in a utility function.

Signed-off-by: Amir Vadai <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agoMAINTAINERS: Add Mellanox ethernet driver - mlx4_en
Amir Vadai [Sun, 2 Dec 2012 03:49:21 +0000 (03:49 +0000)]
MAINTAINERS: Add Mellanox ethernet driver - mlx4_en

Set mlx4_en maintainer to Amir Vadai instead of Yevgeny Petrilin.

Signed-off-by: Amir Vadai <[email protected]>
Cc: Yevgeny Petrilin <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agoMerge git://git.infradead.org/users/dwmw2/atm
David S. Miller [Sun, 2 Dec 2012 01:45:24 +0000 (20:45 -0500)]
Merge git://git.infradead.org/users/dwmw2/atm

David Woodhouse says:

====================
This is the result of pulling on the thread started by Krzysztof Mazur's
original patch 'pppoatm: don't send frames to destroyed vcc'.

Various problems in the pppoatm and br2684 code are solved, some of which
were easily triggered and would panic the kernel.
====================

Signed-off-by: David S. Miller <[email protected]>
13 years agosolos-pci: remove list_vccs() debugging function
David Woodhouse [Thu, 29 Nov 2012 23:28:30 +0000 (23:28 +0000)]
solos-pci: remove list_vccs() debugging function

No idea why we've gone so long dumping a list of VCCs with vci==0 on
every ->open() call...

Signed-off-by: David Woodhouse <[email protected]>
13 years agosolos-pci: use GFP_KERNEL where possible, not GFP_ATOMIC
David Woodhouse [Thu, 29 Nov 2012 23:27:20 +0000 (23:27 +0000)]
solos-pci: use GFP_KERNEL where possible, not GFP_ATOMIC

Signed-off-by: David Woodhouse <[email protected]>
13 years agosolos-pci: clean up pclose() function
David Woodhouse [Thu, 29 Nov 2012 23:15:30 +0000 (23:15 +0000)]
solos-pci: clean up pclose() function

 - Flush pending TX skbs from the queue rather than waiting for them all to
   complete (suggested by Krzysztof Mazur <[email protected]>).
 - Clear ATM_VF_ADDR only when the PKT_PCLOSE packet has been submitted.
 - Don't clear ATM_VF_READY at all â€” vcc_destroy_socket() does that for us.

Signed-off-by: David Woodhouse <[email protected]>
13 years agopppoatm: optimise PPP channel wakeups after sock_owned_by_user()
David Woodhouse [Wed, 28 Nov 2012 10:15:05 +0000 (10:15 +0000)]
pppoatm: optimise PPP channel wakeups after sock_owned_by_user()

We don't need to schedule the wakeup tasklet on *every* unlock; only if we
actually blocked the channel in the first place.

Signed-off-by: David Woodhouse <[email protected]>
Acked-by: Krzysztof Mazur <[email protected]>
13 years agobr2684: allow assign only on a connected socket
Krzysztof Mazur [Wed, 28 Nov 2012 08:08:04 +0000 (09:08 +0100)]
br2684: allow assign only on a connected socket

The br2684 does not check if used vcc is in connected state,
causing potential Oops in pppoatm_send() when vcc->send() is called
on not fully connected socket.

Now br2684 can be assigned only on connected sockets; otherwise
-EINVAL error is returned.

Signed-off-by: Krzysztof Mazur <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
13 years agosolos-pci: Fix leak of skb received for unknown vcc
Nathan Williams [Tue, 27 Nov 2012 06:34:09 +0000 (17:34 +1100)]
solos-pci: Fix leak of skb received for unknown vcc

... and ensure that the next skb is set up for RX in the DMA case.

Signed-off-by: Nathan Williams <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
13 years agobr2684: fix module_put() race
David Woodhouse [Wed, 28 Nov 2012 00:46:45 +0000 (00:46 +0000)]
br2684: fix module_put() race

The br2684 code used module_put() during unassignment from vcc with
hope that we have BKL. This assumption is no longer true.

Now owner field in atmvcc is used to move this module_put()
to vcc_destroy_socket().

Signed-off-by: David Woodhouse <[email protected]>
Acked-by: Krzysztof Mazur <[email protected]>
13 years agopppoatm: fix missing wakeup in pppoatm_send()
David Woodhouse [Wed, 28 Nov 2012 00:05:52 +0000 (00:05 +0000)]
pppoatm: fix missing wakeup in pppoatm_send()

Now that we can return zero from pppoatm_send() for reasons *other* than
the queue being full, that means we can't depend on a subsequent call to
pppoatm_pop() waking the queue, and we might leave it stalled
indefinitely.

Use the ->release_cb() callback to wake the queue after the sock is
unlocked.

Signed-off-by: David Woodhouse <[email protected]>
Acked-by: Krzysztof Mazur <[email protected]>
13 years agobr2684: don't send frames on not-ready vcc
David Woodhouse [Tue, 27 Nov 2012 23:28:36 +0000 (23:28 +0000)]
br2684: don't send frames on not-ready vcc

Avoid submitting packets to a vcc which is being closed. Things go badly
wrong when the ->pop method gets later called after everything's been
torn down.

Use the ATM socket lock for synchronisation with vcc_destroy_socket(),
which clears the ATM_VF_READY bit under the same lock. Otherwise, we
could end up submitting a packet to the device driver even after its
->ops->close method has been called. And it could call the vcc's ->pop
method after the protocol has been shut down. Which leads to a panic.

Signed-off-by: David Woodhouse <[email protected]>
Acked-by: Krzysztof Mazur <[email protected]>
13 years agoatm: add release_cb() callback to vcc
David Woodhouse [Wed, 28 Nov 2012 00:03:11 +0000 (00:03 +0000)]
atm: add release_cb() callback to vcc

The immediate use case for this is that it will allow us to ensure that a
pppoatm queue is woken after it has to drop a packet due to the sock being
locked.

Note that 'release_cb' is called when the socket is *unlocked*. This is
not to be confused with vcc_release() â€” which probably ought to be called
vcc_close().

Signed-off-by: David Woodhouse <[email protected]>
Acked-by: Krzysztof Mazur <[email protected]>
13 years agosolos-pci: wait for pending TX to complete when releasing vcc
David Woodhouse [Tue, 27 Nov 2012 23:49:24 +0000 (23:49 +0000)]
solos-pci: wait for pending TX to complete when releasing vcc

We should no longer be calling the old pop routine for the vcc, after
vcc_release() has completed. Make sure we wait for any pending TX skbs
to complete, by waiting for our own PKT_PCLOSE control skb to be sent.

Signed-off-by: David Woodhouse <[email protected]>
13 years agoqlcnic: remove duplicated include from qlcnic_sysfs.c
Wei Yongjun [Fri, 30 Nov 2012 20:01:25 +0000 (20:01 +0000)]
qlcnic: remove duplicated include from qlcnic_sysfs.c

Remove duplicated include.

Signed-off-by: Wei Yongjun <[email protected]>
Acked-by: Sony Chacko <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agomyri10ge: fix incorrect use of ntohs()
Andrew Gallatin [Fri, 30 Nov 2012 12:31:26 +0000 (12:31 +0000)]
myri10ge: fix incorrect use of ntohs()

1b4c44e6369dbbafd113f1e00b406f1eda5ab5b2 incorrectly used
ntohs() rather than htons() in myri10ge_vlan_rx().

Thanks to Fengguang Wu, Yuanhan Liu's kernel-build tester
for pointing out this bug.

Signed-off-by: Andrew Gallatin <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agoipv6: unify logic evaluating inet6_dev's accept_ra property
Shmulik Ladkani [Fri, 30 Nov 2012 10:25:59 +0000 (10:25 +0000)]
ipv6: unify logic evaluating inet6_dev's accept_ra property

As of 026359b [ipv6: Send ICMPv6 RSes only when RAs are accepted], the
logic determining whether to send Router Solicitations is identical
to the logic determining whether kernel accepts Router Advertisements.

However the condition itself is repeated in several code locations.

Unify it by introducing 'ipv6_accept_ra()' accessor.

Also, simplify the condition expression, making it more readable.
No semantic change.

Signed-off-by: Shmulik Ladkani <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agotcp: change default tcp hash size
Eric Dumazet [Fri, 30 Nov 2012 10:08:52 +0000 (10:08 +0000)]
tcp: change default tcp hash size

As time passed, available memory increased faster than number of
concurrent tcp sockets.

As a result, a machine with 4GB of ram gets a hash table
with 524288 slots, using 8388608 bytes of memory.

Lets change that by a 16x factor (one slot for 128 KB of ram)

Even if a small machine needs a _lot_ of sockets, tcp lookups are now
very efficient, using one cache line per socket.

Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agoMerge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/bwh/sfc...
David S. Miller [Sat, 1 Dec 2012 16:30:10 +0000 (11:30 -0500)]
Merge branch 'for-davem' of git://git./linux/kernel/git/bwh/sfc-next

Ben Hutchings says:

====================
1. More workarounds for TX queue flush failures that can occur during
   interface reconfiguration.
2. Fix spurious failure of a firmware request running during a system
   clock change, e.g. ntpd started at the same time as driver load.
3. Fix inconsistent statistics after a firmware upgrade.
4. Fix a variable (non-)initialisation in offline self-test that can
   make it more disruptive than intended.
5. Fix a race that can (at least) cause an assertion failure.
6. Miscellaneous cleanup.
====================

Signed-off-by: David S. Miller <[email protected]>
13 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net...
David S. Miller [Sat, 1 Dec 2012 16:27:31 +0000 (11:27 -0500)]
Merge branch 'master' of git://git./linux/kernel/git/jkirsher/net-next

Jeff Kirsher says:

====================
This series contains updates to ixgbe, igb and e1000e.  Majority of the
changes are against igb.
====================

Signed-off-by: David S. Miller <[email protected]>
13 years agoixgbe: Do not parse past IP header on fragments beyond the first
Alexander Duyck [Tue, 13 Nov 2012 01:13:33 +0000 (01:13 +0000)]
ixgbe: Do not parse past IP header on fragments beyond the first

This change makes it so that only the first fragment in a series of fragments
will have the L4 header pulled.  Previously we were always pulling the L4
header as well and in the case of UDP this can harm performance since only the
first fragment will have the header, the rest just contain data which should
be left in the paged portion of the packet.

Signed-off-by: Alexander Duyck <[email protected]>
Tested-by: Stephen Ko <[email protected]>
Tested-by: Marcus Dennis <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
13 years agoe1000e: cosmetic cleanup of comments
Bruce Allan [Wed, 28 Nov 2012 09:28:37 +0000 (09:28 +0000)]
e1000e: cosmetic cleanup of comments

Update comments to conform to the preferred style for networking code as
described in ./Documentation/CodingStyle and checked for in the recently
added checkpatch NETWORKING_BLOCK_COMMENT_STYLE test.

Signed-off-by: Bruce Allan <[email protected]>
Tested-by: Aaron Brown <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
13 years agoigb: Fix SerDes autoneg flow control.
Carolyn Wyborny [Tue, 23 Oct 2012 12:54:33 +0000 (12:54 +0000)]
igb: Fix SerDes autoneg flow control.

This patch enables flow control to be set in SerDes autoneg mode.  This is
done the way it is done for copper, but relies on a different set of register/bit
checks since this is all done within the MAC registers.

Signed-off-by: Carolyn Wyborny <[email protected]>
Tested-by: Aaron Brown <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
13 years agoigb: Unset sigdetect for SERDES loopback on 82580 and i350
Carolyn Wyborny [Thu, 22 Nov 2012 02:49:22 +0000 (02:49 +0000)]
igb: Unset sigdetect for SERDES loopback on 82580 and i350

This patch unsets the sigdetect bit for SERDES loopback tests on 82580 and
i350 parts.  The loopback test can fail on these parts without this
setting.

Signed-off-by: Carolyn Wyborny <[email protected]>
Tested-by: Aaron Brown <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
13 years agoigb: Workaround for global device reset problem on 82580.
Carolyn Wyborny [Thu, 22 Nov 2012 01:24:08 +0000 (01:24 +0000)]
igb: Workaround for global device reset problem on 82580.

Due to a hw errata, the global device reset doesn't always work on 82580
devices.  This patch works around the problem not trying to do a global
device reset on these devices.

Signed-off-by: Carolyn Wyborny <[email protected]>
Tested-by: Aaron Brown <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
13 years agoigb: Refactoring of i210 file.
Carolyn Wyborny [Wed, 21 Nov 2012 04:44:10 +0000 (04:44 +0000)]
igb: Refactoring of i210 file.

This patch refactors the functions in e1000_i210.c in order to remove need
for prototypes.

Signed-off-by: Carolyn Wyborny <[email protected]>
Tested-by: Aaron Brown <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
13 years agoigb: Acquire, release semaphore for writing each EEPROM page
Akeem G. Abodunrin [Sat, 3 Nov 2012 03:08:41 +0000 (03:08 +0000)]
igb: Acquire, release semaphore for writing each EEPROM page

This patch allows software acquires and releases NVM resource for
writing each EEPROM page, instead of holding semaphore for the whole
data block which is too long and could trigger write fails on
unpredictable addresses.

Signed-off-by: Akeem G Abodunrin <[email protected]>
Tested-by: Jeff Pieper <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
13 years agoigb: Updates to read nvm function for i211 device
Carolyn Wyborny [Thu, 11 Oct 2012 02:15:45 +0000 (02:15 +0000)]
igb: Updates to read nvm function for i211 device

The i211 has an integrated secure space to store configuration information that is
usually stored in an EEPROM or flash type device. This patch updates the
read functions to return values or appropriate error codes to prevent
unnecessary init failures on some configuration schemes.

Signed-off-by: Carolyn Wyborny <[email protected]>
Tested-by: Jeff Pieper <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
13 years agoixgbe: eliminate Smatch warnings in ixgbe_debugfs.c
[email protected] [Wed, 28 Nov 2012 05:49:20 +0000 (05:49 +0000)]
ixgbe: eliminate Smatch warnings in ixgbe_debugfs.c

This patch replaces calls to copy_to_user, copy_from_user, and the associated
logic, with calls to simple_read_from_buffer and simple_write_to_buffer
respectively.  This was done to eliminate warnings generated by the Smatch
static analysis tool.

v2- Fix return values based community feedback

Reported-by: Dan Carpenter <[email protected]>
CC: Dan Carpenter <[email protected]>
Signed-off-by: Josh Hay <[email protected]>
Tested-by: Phil Schmitt <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
13 years agosfc: Make module parameters really boolean
Ben Hutchings [Wed, 28 Nov 2012 04:12:41 +0000 (04:12 +0000)]
sfc: Make module parameters really boolean

Most of the module parameters treated as boolean are currently exposed
as type int or uint.  Defining them with the proper type is useful
documentation for both users and developers.

Signed-off-by: Ben Hutchings <[email protected]>
13 years agosfc: Fix timekeeping in efx_mcdi_poll()
Ben Hutchings [Sat, 1 Dec 2012 02:21:17 +0000 (02:21 +0000)]
sfc: Fix timekeeping in efx_mcdi_poll()

efx_mcdi_poll() uses get_seconds() to read the current time and to
implement a polling timeout.  The use of this function was chosen
partly because it could easily be replaced in a co-sim environment
with a macro that read the simulated time.

Unfortunately the real get_seconds() returns the system time (real
time) which is subject to adjustment by e.g. ntpd.  If the system time
is adjusted forward during a polled MCDI operation, the effective
timeout can be shorter than the intended 10 seconds, resulting in a
spurious failure.  It is also possible for a backward adjustment to
delay detection of a areal failure.

Use jiffies instead, and change MCDI_RPC_TIMEOUT to be denominated in
jiffies.  Also correct rounding of the timeout: check time > finish
(or rather time_after(time, finish)) and not time >= finish.

Signed-off-by: Ben Hutchings <[email protected]>
13 years agosfc: lock TX queues when calling netif_device_detach()
Daniel Pieczko [Wed, 17 Oct 2012 12:21:23 +0000 (13:21 +0100)]
sfc: lock TX queues when calling netif_device_detach()

The assertion of netif_device_present() at the top of
efx_hard_start_xmit() may fail if we don't do this.

Signed-off-by: Ben Hutchings <[email protected]>
13 years agosfc: Work-around flush timeout when flushes have completed
Daniel Pieczko [Tue, 2 Oct 2012 12:36:18 +0000 (13:36 +0100)]
sfc: Work-around flush timeout when flushes have completed

We sometimes hit a "failed to flush" timeout on some TX queues, but the
flushes have completed and the flush completion events seem to go missing.
In this case, we can check the TX_DESC_PTR_TBL register and drain the
queues if the flushes had finished.

[bwh: Minor fixes to coding style]
Signed-off-by: Ben Hutchings <[email protected]>
13 years agosfc: Reset driver's MAC stats after MC reboot seen
Ben Hutchings [Mon, 1 Oct 2012 19:58:35 +0000 (20:58 +0100)]
sfc: Reset driver's MAC stats after MC reboot seen

If the MC reboots then the stats it reports to us will have been
reset.  We need to reset ours to get efx_update_diff_stat() working
properly.

(Ideally we would maintain stats across the reboot, but as this should
only happen immediately after a firmware upgrade it's not really worth
the trouble.)

Signed-off-by: Ben Hutchings <[email protected]>
13 years agosfc: Do not initialise buffer in efx_alloc_special_buffer()
Ben Hutchings [Tue, 18 Sep 2012 23:31:18 +0000 (00:31 +0100)]
sfc: Do not initialise buffer in efx_alloc_special_buffer()

Currently we initialise the newly allocated buffer to all-1s, which is
important for event queues but not for descriptor queues.  And since
we also do that in efx_nic_init_eventq(), it is completely pointless
to do it here.

Signed-off-by: Ben Hutchings <[email protected]>
13 years agosfc: Correctly initialise reset_method in siena_test_chip()
Ben Hutchings [Sat, 1 Dec 2012 01:55:27 +0000 (01:55 +0000)]
sfc: Correctly initialise reset_method in siena_test_chip()

Signed-off-by: Ben Hutchings <[email protected]>
13 years agosfc: Remove confusing MMIO functions
Ben Hutchings [Tue, 18 Sep 2012 00:56:50 +0000 (01:56 +0100)]
sfc: Remove confusing MMIO functions

efx_writed_table() uses a step of 16 bytes but efx_readd_table() uses
a step of 4 bytes.  Why are they different?

Firstly, register access is asymmetric:

- The EVQ_RPTR table and RX_INDIRECTION_TBL can (or must?) be written
  as dwords even though they have a step size of 16 bytes, unlike
  most other CSRs.
- In general, a read of any width is valid for registers, so long as
  it does not cross register boundaries.  There is also no latching
  behaviour in the BIU, contrary to rumour.

We write to the EVQ_RPTR table with efx_writed_table() but never read
it back as it's write-only.  We write to the RX_INDIRECTION_TBL with
efx_writed_table(), but only read it back for the register dump, where
we use efx_reado_table() as for any other table with step size of 16.

We read MC_TREG_SMEM with efx_readd_table() for the register dump, but
normally read and write it with efx_readd() and efx_writed() using
offsets calculated in bytes.

Since these functions are trivial and have few callers, it's clearer
to open-code them at the call sites.  While we're at it, update the
comments on the BIU behaviour again.

Signed-off-by: Ben Hutchings <[email protected]>
13 years agosfc: Fix check for failure of MC_CMD_FLUSH_RX_QUEUES
Ben Hutchings [Tue, 11 Sep 2012 17:25:13 +0000 (18:25 +0100)]
sfc: Fix check for failure of MC_CMD_FLUSH_RX_QUEUES

efx_mcdi_rpc_start() returns a negative value on error or zero on
success.  However one caller that can't properly handle failure then
does WARN_ON(rc > 0).  Change it to WARN_ON(rc < 0).

Signed-off-by: Ben Hutchings <[email protected]>
13 years agosfc: Delete redundant page_addr variable from efx_init_rx_buffers_page()
Ben Hutchings [Thu, 6 Sep 2012 22:54:15 +0000 (23:54 +0100)]
sfc: Delete redundant page_addr variable from efx_init_rx_buffers_page()

Signed-off-by: Ben Hutchings <[email protected]>
13 years agosfc: Really disable flow control while flushing
Ben Hutchings [Thu, 6 Sep 2012 15:52:31 +0000 (16:52 +0100)]
sfc: Really disable flow control while flushing

Receiving pause frames can block TX queue flushes.  Earlier changes
work around this by reconfiguring the MAC during flushes for VFs, but
during flushes for the PF we would only change the fc_disable counter.
Unless the MAC is reconfigured for some other reason during the flush
(which I would not expect to happen) this had no effect at all.

Signed-off-by: Ben Hutchings <[email protected]>
13 years agosfc: Fix byte order warning in self-test
Ben Hutchings [Thu, 6 Sep 2012 01:11:06 +0000 (02:11 +0100)]
sfc: Fix byte order warning in self-test

Add necessary cast when setting a bogus checksum.

Signed-off-by: Ben Hutchings <[email protected]>
13 years agosfc: Fix byte order warnings for ethtool RX filter interface
Ben Hutchings [Thu, 6 Sep 2012 01:11:04 +0000 (02:11 +0100)]
sfc: Fix byte order warnings for ethtool RX filter interface

sparse has got a bit more picky since I last ran it over this.  Add
forced casts for use of ~0 as a big-endian value.  Undo the pointless
optimisation of parameter validation with '|'; using '||' avoids these
warnings.

Signed-off-by: Ben Hutchings <[email protected]>
13 years agonet: move inet_dport/inet_num in sock_common
Eric Dumazet [Fri, 30 Nov 2012 09:49:27 +0000 (09:49 +0000)]
net: move inet_dport/inet_num in sock_common

commit 68835aba4d9b (net: optimize INET input path further)
moved some fields used for tcp/udp sockets lookup in the first cache
line of struct sock_common.

This patch moves inet_dport/inet_num as well, filling a 32bit hole
on 64 bit arches and reducing number of cache line misses in lookups.

Also change INET_MATCH()/INET_TW_MATCH() to perform the ports match
before addresses match, as this check is more discriminant.

Remove the hash check from MATCH() macros because we dont need to
re validate the hash value after taking a refcount on socket, and
use likely/unlikely compiler hints, as the sk_hash/hash check
makes the following conditional tests 100% predicted by cpu.

Introduce skc_addrpair/skc_portpair pair values to better
document the alignment requirements of the port/addr pairs
used in the various MATCH() macros, and remove some casts.

The namespace check can also be done at last.

This slightly improves TCP/UDP lookup times.

IP/TCP early demux needs inet->rx_dst_ifindex and
TCP needs inet->min_ttl, lets group them together in same cache line.

With help from Ben Hutchings & Joe Perches.

Idea of this patch came after Ling Ma proposal to move skc_hash
to the beginning of struct sock_common, and should allow him
to submit a final version of his patch. My tests show an improvement
doing so.

Signed-off-by: Eric Dumazet <[email protected]>
Cc: Ben Hutchings <[email protected]>
Cc: Joe Perches <[email protected]>
Cc: Ling Ma <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agohyperv: Add an error message to rndis_filter_set_device_mac()
Haiyang Zhang [Fri, 30 Nov 2012 09:23:41 +0000 (09:23 +0000)]
hyperv: Add an error message to rndis_filter_set_device_mac()

This message indicates an error returned from the host when changing MAC address.

Reported-by: Michal Kubecek <[email protected]>
Signed-off-by: Haiyang Zhang <[email protected]>
Reviewed-by: K. Y. Srinivasan <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agomyri10ge: Add vlan rx for better GRO perf.
Andrew Gallatin [Fri, 30 Nov 2012 08:31:59 +0000 (08:31 +0000)]
myri10ge: Add vlan rx for better GRO perf.

Unlike LRO, GRO requires that vlan tags be removed before
aggregation can occur.  Since the myri10ge NIC does not support
hardware vlan tag offload, we must remove the tag in the driver
to achieve performance comparable to LRO for vlan tagged frames.

Thanks to Eric Duzamet for his help simplifying the original patch.

Signed-off-by: Andrew Gallatin <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agomyri10ge: Convert from LRO to GRO
Andrew Gallatin [Fri, 30 Nov 2012 08:31:58 +0000 (08:31 +0000)]
myri10ge: Convert from LRO to GRO

Convert myri10ge from LRO to GRO, and simplify the driver by removing
various LRO-related code which is no longer needed including
ndo_fix_features op, custom skb building from frags, and LRO
header parsing.

Signed-off-by: Andrew Gallatin <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agoMAINTAINERS: fix bouncing tun/tap entries
Jiri Slaby [Fri, 30 Nov 2012 07:05:40 +0000 (07:05 +0000)]
MAINTAINERS: fix bouncing tun/tap entries

Delivery to the following recipient failed permanently:

     [email protected]

Technical details of permanent failure:
DNS Error: Domain name not found

Of course:
$ host office.satix.net
Host office.satix.net not found: 3(NXDOMAIN)

===========

And "Change of Email Address Notification":
Old Address        New Address           Email Subject
------------------------------------------------------
[email protected]  [email protected] "tuntap: multiqueue...

Signed-off-by: Jiri Slaby <[email protected]>
Cc: Maxim Krasnyansky <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agosmsc95xx: expand check_ macros
Steve Glendinning [Fri, 30 Nov 2012 05:55:52 +0000 (05:55 +0000)]
smsc95xx: expand check_ macros

These macros, while reducing the amount of code, hide flow control
and make the code more confusing to follow and review.  This patch
expands them.  It should have no functional effect on the driver.

Signed-off-by: Steve Glendinning <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agosmsc95xx: fix smsc_crc return type
Steve Glendinning [Fri, 30 Nov 2012 05:55:51 +0000 (05:55 +0000)]
smsc95xx: fix smsc_crc return type

This patch fixes a bug introduced in bbd9f9e which could prevent
some wakeups from working correctly if multiple wol options were
selected.

This helper function calculates a 16-bit crc and shifts it into
either the high or low 16 bits of a u32 so the caller can or it
directly into place.  The function previously had a u16 return
type so would always have returned zero when filter was odd.

Signed-off-by: Steve Glendinning <[email protected]>
Reported-by: Bjorn Mork <[email protected]>
Cc: Joe Perches <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agosmsc95xx: don't enable remote wakeup directly
Steve Glendinning [Fri, 30 Nov 2012 05:55:50 +0000 (05:55 +0000)]
smsc95xx: don't enable remote wakeup directly

As pointed out by Bjorn Mork, the generic "usb" driver sets this
for us so no need to directly set it in this driver.

Signed-off-by: Steve Glendinning <[email protected]>
Cc: Bjorn Mork <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agosmsc95xx: fix error handling in suspend failure case
Steve Glendinning [Fri, 30 Nov 2012 05:55:49 +0000 (05:55 +0000)]
smsc95xx: fix error handling in suspend failure case

This patch ensures that if we fail to suspend the LAN9500 device
we call usbnet_resume before returning failure, instead of
leaving the usbnet driver in an unusable state.

Signed-off-by: Steve Glendinning <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agosmsc95xx: fix suspend buffer overflow
Steve Glendinning [Fri, 30 Nov 2012 05:55:48 +0000 (05:55 +0000)]
smsc95xx: fix suspend buffer overflow

This patch fixes a buffer overflow introduced by bbd9f9e, where
the filter_mask array is accessed beyond its bounds.

Updated to also add a check for kzalloc failure, as reported by
Bjorn Mork and Joe Perches.

Reported-by: Dan Carpenter <[email protected]>
Signed-off-by: Steve Glendinning <[email protected]>
Cc: Bjorn Mork <[email protected]>
Cc: Joe Perches <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agosmsc75xx: expand check_ macros
Steve Glendinning [Fri, 30 Nov 2012 04:52:44 +0000 (04:52 +0000)]
smsc75xx: expand check_ macros

These macros, while reducing the amount of code, hide flow control
and make the code more confusing to follow and review.  This patch
expands them.  It should have no functional effect on the driver.

Signed-off-by: Steve Glendinning <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agosmsc75xx: don't call usbnet_resume if usbnet_suspend fails
Steve Glendinning [Fri, 30 Nov 2012 04:52:43 +0000 (04:52 +0000)]
smsc75xx: don't call usbnet_resume if usbnet_suspend fails

If usbnet_suspend returns an error we don't want to call
usbnet_resume to clean up, but instead just return the error.

If usbnet_suspend *does* succeed, and we have a problem further
on, the desired behaviour is still to call usbnet_resume
to clean up before returning.

Signed-off-by: Steve Glendinning <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agosctp: verify length provided in heartbeat information parameter
Thomas Graf [Fri, 30 Nov 2012 02:16:27 +0000 (02:16 +0000)]
sctp: verify length provided in heartbeat information parameter

If the variable parameter length provided in the mandatory
heartbeat information parameter exceeds the calculated payload
length the packet has been corrupted. Reply with a parameter
length protocol violation message.

Signed-off-by: Thomas Graf <[email protected]>
Acked-by: Neil Horman <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agortnelink: remove unused parameter from rtnl_create_link().
Rami Rosen [Fri, 30 Nov 2012 01:08:47 +0000 (01:08 +0000)]
rtnelink: remove unused parameter from rtnl_create_link().

This patch removes an unused parameter (src_net) from rtnl_create_link()
method and from the method single invocation, in veth.
This parameter was used in the past when calling
ops->get_tx_queues(src_net, tb) in rtnl_create_link().
The get_tx_queues() member of rtnl_link_ops was replaced by two methods,
get_num_tx_queues() and get_num_rx_queues(), which do not get any
parameter. This was done in commit d40156aa5ecbd51fed932ed4813df82b56e5ff4d by
Jiri Pirko ("rtnl: allow to specify different num for rx and tx queue count").

Signed-off-by: Rami Rosen <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agoMerge tag 'batman-adv-for-davem' of git://git.open-mesh.org/linux-merge
David S. Miller [Fri, 30 Nov 2012 17:22:04 +0000 (12:22 -0500)]
Merge tag 'batman-adv-for-davem' of git://git.open-mesh.org/linux-merge

Included changes:
- Use the new ETH_P_BATMAN define instead of the private BATADV_ETH_P_BATMAN

Signed-off-by: David S. Miller <[email protected]>