openwrt/staging/blogic.git
14 years agonetfilter: xtables: restore indentation
Jan Engelhardt [Fri, 26 Feb 2010 16:53:31 +0000 (17:53 +0100)]
netfilter: xtables: restore indentation

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: nfnetlink_log: fix silly refcount leak
Alexey Dobriyan [Fri, 26 Feb 2010 16:48:40 +0000 (17:48 +0100)]
netfilter: nfnetlink_log: fix silly refcount leak

Quick fix for memory/module refcount leak.
Reference count of listener instance never reaches 0.

Start/stop of ulogd2 is enough to trigger this bug!

Now, refcounting there looks very fishy in particular this code:

  if (!try_module_get(THIS_MODULE)) {
...

and creation of listener instance with refcount 2,
so it may very well be ripped and redone.  :-)

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agoIPVS: ip_vs_lblcr: use list headA
Simon Horman [Fri, 26 Feb 2010 16:45:14 +0000 (17:45 +0100)]
IPVS: ip_vs_lblcr: use list headA

Use list_head rather than a custom list implementation.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: xtables: reduce arguments to translate_table
Jan Engelhardt [Wed, 24 Feb 2010 17:36:04 +0000 (18:36 +0100)]
netfilter: xtables: reduce arguments to translate_table

Just pass in the entire repl struct. In case of a new table (e.g.
ip6t_register_table), the repldata has been previously filled with
table->name and table->size already (in ip6t_alloc_initial_table).

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: xtables: optimize call flow around xt_ematch_foreach
Jan Engelhardt [Wed, 24 Feb 2010 17:35:37 +0000 (18:35 +0100)]
netfilter: xtables: optimize call flow around xt_ematch_foreach

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: xtables: replace XT_MATCH_ITERATE macro
Jan Engelhardt [Wed, 24 Feb 2010 17:34:48 +0000 (18:34 +0100)]
netfilter: xtables: replace XT_MATCH_ITERATE macro

The macro is replaced by a list.h-like foreach loop. This makes
the code more inspectable.

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: xtables: optimize call flow around xt_entry_foreach
Jan Engelhardt [Wed, 24 Feb 2010 17:33:43 +0000 (18:33 +0100)]
netfilter: xtables: optimize call flow around xt_entry_foreach

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: xtables: replace XT_ENTRY_ITERATE macro
Jan Engelhardt [Wed, 24 Feb 2010 17:32:59 +0000 (18:32 +0100)]
netfilter: xtables: replace XT_ENTRY_ITERATE macro

The macro is replaced by a list.h-like foreach loop. This makes
the code much more inspectable.

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: xt_recent: fix false match
Tim Gardner [Tue, 23 Feb 2010 13:59:12 +0000 (14:59 +0100)]
netfilter: xt_recent: fix false match

A rule with a zero hit_count will always match.

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Cc: stable@kernel.org
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: xt_recent: fix buffer overflow
Tim Gardner [Tue, 23 Feb 2010 13:55:21 +0000 (14:55 +0100)]
netfilter: xt_recent: fix buffer overflow

e->index overflows e->stamps[] every ip_pkt_list_tot packets.

Consider the case when ip_pkt_list_tot==1; the first packet received is stored
in e->stamps[0] and e->index is initialized to 1. The next received packet
timestamp is then stored at e->stamps[1] in recent_entry_update(),
a buffer overflow because the maximum e->stamps[] index is 0.

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Cc: stable@kernel.org
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: nf_conntrack_reasm: properly handle packets fragmented into a single fragment
Patrick McHardy [Fri, 19 Feb 2010 17:18:37 +0000 (18:18 +0100)]
netfilter: nf_conntrack_reasm: properly handle packets fragmented into a single fragment

When an ICMPV6_PKT_TOOBIG message is received with a MTU below 1280,
all further packets include a fragment header.

Unlike regular defragmentation, conntrack also needs to "reassemble"
those fragments in order to obtain a packet without the fragment
header for connection tracking. Currently nf_conntrack_reasm checks
whether a fragment has either IP6_MF set or an offset != 0, which
makes it ignore those fragments.

Remove the invalid check and make reassembly handle fragment queues
containing only a single fragment.

Reported-and-tested-by: Ulrich Weber <uweber@astaro.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: nf_queue: fix NF_STOLEN skb leak
Eric Dumazet [Fri, 19 Feb 2010 14:28:38 +0000 (15:28 +0100)]
netfilter: nf_queue: fix NF_STOLEN skb leak

commit 3bc38712e3a6e059 (handle NF_STOP and unknown verdicts in
nf_reinject) was a partial fix to packet leaks.

If user asks NF_STOLEN status, we must free the skb as well.

Reported-by: Afi Gjermund <afigjermund@gmail.com>
Signed-off-by: Eric DUmazet <eric.dumazet@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: ctnetlink: fix creation of conntrack with helpers
Pablo Neira Ayuso [Fri, 19 Feb 2010 13:24:39 +0000 (14:24 +0100)]
netfilter: ctnetlink: fix creation of conntrack with helpers

This patch fixes a bug that triggers an assertion if you create
a conntrack entry with a helper and netfilter debugging is enabled.
Basically, we hit the assertion because the confirmation flag is
set before the conntrack extensions are added. To fix this, we
move the extension addition before the aforementioned flag is
set.

This patch also removes the possibility of setting a helper for
existing conntracks. This operation would also trigger the
assertion since we are not allowed to add new extensions for
existing conntracks. We know noone that could benefit from
this operation sanely.

Thanks to Eric Dumazet for initial posting a preliminary patch
to address this issue.

Reported-by: David Ramblewski <David.Ramblewski@atosorigin.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: restore POST_ROUTING hook in NF_HOOK_COND
Patrick McHardy [Fri, 19 Feb 2010 07:03:28 +0000 (08:03 +0100)]
netfilter: restore POST_ROUTING hook in NF_HOOK_COND

Commit 2249065 ("netfilter: get rid of the grossness in netfilter.h")
inverted the logic for conditional hook invocation, breaking the
POST_ROUTING hook invoked by ip_output().

Correct the logic and remove an unnecessary initialization.

Reported-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: nf_defrag_ipv4: fix compilation error with NF_CONNTRACK=n
Patrick McHardy [Thu, 18 Feb 2010 18:04:44 +0000 (19:04 +0100)]
netfilter: nf_defrag_ipv4: fix compilation error with NF_CONNTRACK=n

As reported by Randy Dunlap <randy.dunlap@oracle.com>, compilation
of nf_defrag_ipv4 fails with:

include/net/netfilter/nf_conntrack.h:94: error: field 'ct_general' has incomplete type
include/net/netfilter/nf_conntrack.h:178: error: 'const struct sk_buff' has no member named 'nfct'
include/net/netfilter/nf_conntrack.h:185: error: implicit declaration of function 'nf_conntrack_put'
include/net/netfilter/nf_conntrack.h:294: error: 'const struct sk_buff' has no member named 'nfct'
net/ipv4/netfilter/nf_defrag_ipv4.c:45: error: 'struct sk_buff' has no member named 'nfct'
net/ipv4/netfilter/nf_defrag_ipv4.c:46: error: 'struct sk_buff' has no member named 'nfct'

net/nf_conntrack.h must not be included with NF_CONNTRACK=n, add a
few #ifdefs. Long term the header file should be fixed to be usable
even with NF_CONNTRACK=n.

Tested-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agoipvs: SCTP Trasport Loadbalancing Support
Venkata Mohan Reddy [Thu, 18 Feb 2010 11:31:05 +0000 (12:31 +0100)]
ipvs: SCTP Trasport Loadbalancing Support

Enhance IPVS to load balance SCTP transport protocol packets. This is done
based on the SCTP rfc 4960. All possible control chunks have been taken
care. The state machine used in this code looks some what lengthy. I tried
to make the state machine easy to understand.

Signed-off-by: Venkata Mohan Reddy Koppula <mohanreddykv@gmail.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agoMerge branch 'ebt_config_compat_v4' of git://git.breakpoint.cc/fw/nf-next-2.6
Patrick McHardy [Thu, 18 Feb 2010 10:41:39 +0000 (11:41 +0100)]
Merge branch 'ebt_config_compat_v4' of git://git.breakpoint.cc/fw/nf-next-2.6

14 years agoIPv6: convert mc_lock to spinlock
Stephen Hemminger [Thu, 18 Feb 2010 02:48:44 +0000 (18:48 -0800)]
IPv6: convert mc_lock to spinlock

Only used for writing, so convert to spinlock

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agodrivers/net/tehuti.c: Reapply use DEFINE_PCI_DEVICE_TABLE()
Joe Perches [Thu, 18 Feb 2010 02:48:11 +0000 (18:48 -0800)]
drivers/net/tehuti.c: Reapply use DEFINE_PCI_DEVICE_TABLE()

Commit 865a21a5e3d1b384c559a44c898fcad93e187b82 overwrote
commit a3aa18842a5303fc28fcc4d57dbd16618bd830a0

Fix it.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agodrivers/net/yellowfin.c: Use (pr|netdev)_<level> macro helpers
Joe Perches [Wed, 17 Feb 2010 15:02:02 +0000 (15:02 +0000)]
drivers/net/yellowfin.c: Use (pr|netdev)_<level> macro helpers

Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
Remove #define PFX
Use pr_<level>
Use netdev_<level>
Convert formats like %8.8 to %08
Remove periods from formats
Coalesce long formats

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agodrivers/net/sky2.c: Use (pr|netdev)_<level> macro helpers
Joe Perches [Wed, 17 Feb 2010 15:01:59 +0000 (15:01 +0000)]
drivers/net/sky2.c: Use (pr|netdev)_<level> macro helpers

Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
Remove #define PFX
Use pr_<level>
Use netdev_<level>

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agodrivers/net/skge.c: Use (pr|netdev)_<level> macro helpers
Joe Perches [Wed, 17 Feb 2010 15:01:58 +0000 (15:01 +0000)]
drivers/net/skge.c: Use (pr|netdev)_<level> macro helpers

Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
Remove #define PFX
Use pr_<level>
Use netdev_<level>
Checkpatch cleaning

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agodrivers/net/skge.c: Use (pr|netdev)_<level> macro helpers
Joe Perches [Wed, 17 Feb 2010 15:01:57 +0000 (15:01 +0000)]
drivers/net/skge.c: Use (pr|netdev)_<level> macro helpers

Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
Remove #define PFX
Use pr_<level>
Use netdev_<level>

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agodrivers/net/pci-skeleton.c: Use (pr|netdev|netif)_<level> macro helpers
Joe Perches [Wed, 17 Feb 2010 15:01:55 +0000 (15:01 +0000)]
drivers/net/pci-skeleton.c: Use (pr|netdev|netif)_<level> macro helpers

Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
Remove #define PFX
Use pr_<level>
Use netdev_<level>
Use netif_<level>
Checkpatch cleaning
Convert formats like 0x%08x to %#08x
Remove periods from formats
Coalesce long formats
Use print_hex_dump

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agodrivers/net/cnic.c: Use (pr|netdev)_<level> macro helpers
Joe Perches [Wed, 17 Feb 2010 15:01:54 +0000 (15:01 +0000)]
drivers/net/cnic.c: Use (pr|netdev)_<level> macro helpers

Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
Remove #define PFX
Use pr_<level>
Use netdev_<level>
Remove periods from formats
Coalesce long formats
Use __func__

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agodrivers/net/cassini.c: Use (pr|netdev|netif)_<level> macro helpers
Joe Perches [Wed, 17 Feb 2010 15:01:53 +0000 (15:01 +0000)]
drivers/net/cassini.c: Use (pr|netdev|netif)_<level> macro helpers

Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
Remove #define PFX
Use pr_<level>
Use netdev_<level>
Use netif_<level>
Remove periods from formats
Coalesce long formats

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agodrivers/net/bnx2x: Use (pr|netdev|netif)_<level> macro helpers
Joe Perches [Wed, 17 Feb 2010 15:01:52 +0000 (15:01 +0000)]
drivers/net/bnx2x: Use (pr|netdev|netif)_<level> macro helpers

Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
Convert struct bnx2x member msglevel to msg_enable for netif_msg_<foo> macros
Remove #define PFX
Use pr_<level>
Use netdev_<level>
Use netif_<level>
Coalesce long formats

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agodrivers/net/bnx2.c: Use (pr|netdev|netif)_<level> macro helpers
Joe Perches [Wed, 17 Feb 2010 15:01:51 +0000 (15:01 +0000)]
drivers/net/bnx2.c: Use (pr|netdev|netif)_<level> macro helpers

Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
Remove #define PFX
Use pr_<level>
Use netdev_<level>
Use netif_<level>
Remove periods from formats
Coalesce long formats
Coalesce some printks

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agodrivers/net/b44.c: Use (pr|netdev|netif)_<level> macro helpers
Joe Perches [Wed, 17 Feb 2010 15:01:50 +0000 (15:01 +0000)]
drivers/net/b44.c: Use (pr|netdev|netif)_<level> macro helpers

Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
Remove #define PFX
Use pr_<level>
Use netdev_<level>
Use netif_<level>
Remove periods from formats
Coalesce long formats

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agodrivers/net/8139too.c: Use (pr|netdev|netif)_<level> macro helpers
Joe Perches [Wed, 17 Feb 2010 15:01:49 +0000 (15:01 +0000)]
drivers/net/8139too.c: Use (pr|netdev|netif)_<level> macro helpers

Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
Remove #define PFX
Use pr_<level>
Use netdev_<level>
Use netif_<level>
Convert formats like %8.8 to %08
Remove periods from formats
Coalesce long formats
Use print_hex_dump

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agodrivers/net/8139cp.c: Use (pr|netdev|netif)_<level> macro helpers
Joe Perches [Wed, 17 Feb 2010 15:01:48 +0000 (15:01 +0000)]
drivers/net/8139cp.c: Use (pr|netdev|netif)_<level> macro helpers

Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
Remove #define PFX
Use pr_<level>
Use netdev_<level>
Use netif_<level>
Remove periods from formats
Coalesce long formats

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Update version to 3.108
Matt Carlson [Wed, 17 Feb 2010 15:17:05 +0000 (15:17 +0000)]
tg3: Update version to 3.108

This patch updates the tg3 version to 3.108.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Push phylib definitions to phylib
Matt Carlson [Wed, 17 Feb 2010 15:17:04 +0000 (15:17 +0000)]
tg3: Push phylib definitions to phylib

This patch pushes phylib definitions out to phylib headers.  For phy
IDs, this removes some code duplication.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Rename tg3 phy ID preprocessor definitions
Matt Carlson [Wed, 17 Feb 2010 15:17:03 +0000 (15:17 +0000)]
tg3: Rename tg3 phy ID preprocessor definitions

The phylib presents the phy ID in a different format than the one tg3
has traditionally used.  To highlight the distinction, this patch
prepends the tg3 native phy ID format with TG3.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Reformat SSID to phy ID table
Matt Carlson [Wed, 17 Feb 2010 15:17:02 +0000 (15:17 +0000)]
tg3: Reformat SSID to phy ID table

This patch reformats the SSID to phy ID table, replacing constants with
preprocessor definitions.  This patch is also prep work for the
following patch, which will push line lengths beyond 80 chars.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Discover phy address once
Matt Carlson [Wed, 17 Feb 2010 15:17:01 +0000 (15:17 +0000)]
tg3: Discover phy address once

The phy address will not change after it has been identified.  Move the
discovery code to a location that only gets executed once.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Reduce indent level of tg3_rx_prodring_alloc
Matt Carlson [Wed, 17 Feb 2010 15:17:00 +0000 (15:17 +0000)]
tg3: Reduce indent level of tg3_rx_prodring_alloc

This patch adds an inverted "jumbo ring enable" test and jumps to the exit
if it succeeds.  The change reduces the indent level of the remaining
code making it more readable.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Rename TG3_FLG3_RGMII_STD_IBND_DISABLE
Matt Carlson [Wed, 17 Feb 2010 15:16:59 +0000 (15:16 +0000)]
tg3: Rename TG3_FLG3_RGMII_STD_IBND_DISABLE

The STD part of this preprocessor definition is a bit of a misnomer.
This flag is a coarse control of the RGMII inband status facilities.
This patch renames the definition to be more accurate.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Add more partno entries for fallback path
Matt Carlson [Wed, 17 Feb 2010 15:16:58 +0000 (15:16 +0000)]
tg3: Add more partno entries for fallback path

This patch adds 57765 asic partno entries for the path executed if VPD
is not present in NVRAM.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Allow phylib flowctrl changes anytime
Matt Carlson [Wed, 17 Feb 2010 15:16:57 +0000 (15:16 +0000)]
tg3: Allow phylib flowctrl changes anytime

This patch loosens the restriction that the phylib interface must be up
and running to change the flow control parameters.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Add support for 2 new selfboot formats
Matt Carlson [Wed, 17 Feb 2010 15:16:56 +0000 (15:16 +0000)]
tg3: Add support for 2 new selfboot formats

This patch adds new offsets to the bootcode version extraction code to
support NVRAM format versions 4 and 5.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Make 57791 and 57795 10/100 only
Matt Carlson [Wed, 17 Feb 2010 15:16:55 +0000 (15:16 +0000)]
tg3: Make 57791 and 57795 10/100 only

This patch adds the 57791 and 57795 to the list of devices that only
support 10 and 100 Mbps speeds.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Enforce DMA mapping / skb assignment ordering
Matt Carlson [Wed, 17 Feb 2010 15:16:54 +0000 (15:16 +0000)]
tg3: Enforce DMA mapping / skb assignment ordering

Michael Chan noted that there is nothing in the code that would prevent
the compiler from delaying the access of the "mapping" member of the
newly arrived packet until much later.  If this happened after the
skb = NULL assignment, it is possible for the driver to pass a bad
dma_addr value to pci_unmap_single().  To enforce this ordering, we need
a write memory barrier.  The pairing read memory barrier already exists
in tg3_rx_prodring_xfer() under the comments starting with
"Ensure that updates to the...".

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>
14 years agotun: socket filter support
Michael S. Tsirkin [Sun, 14 Feb 2010 01:01:10 +0000 (01:01 +0000)]
tun: socket filter support

This patch adds Linux Socket Filter support to
tun driver.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet: export attach/detach filter routines
Michael S. Tsirkin [Sun, 14 Feb 2010 01:01:00 +0000 (01:01 +0000)]
net: export attach/detach filter routines

Export sk_attach_filter/sk_detach_filter routines,
so that tun module can use them.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agochelsio: convert to use netdev_for_each_mc_addr
Jiri Pirko [Wed, 17 Feb 2010 11:56:45 +0000 (11:56 +0000)]
chelsio: convert to use netdev_for_each_mc_addr

Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agocxgb3: convert to use netdev_for_each_addr
Jiri Pirko [Wed, 17 Feb 2010 12:27:14 +0000 (12:27 +0000)]
cxgb3: convert to use netdev_for_each_addr

Removed whole t3_rx_mode structure and appropriate helpers cause they are no
longer needed.

Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agosmsc911x: replace manual phy lookup.
kirjanov@gmail.com [Tue, 16 Feb 2010 21:54:58 +0000 (21:54 +0000)]
smsc911x: replace manual phy lookup.

Use phy_find_first() function instead of manual lookup.

Signed-off-by: Denis Kirjanov <kirjanov@gmail.com>
Reviewed-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet: bug fix for vlan + gro issue
Ajit Khaparde [Tue, 16 Feb 2010 20:25:43 +0000 (20:25 +0000)]
net: bug fix for vlan + gro issue

Traffic (tcp) doesnot start on a vlan interface when gro is enabled.
Even the tcp handshake was not taking place.
This is because, the eth_type_trans call before the netif_receive_skb
in napi_gro_finish() resets the skb->dev to napi->dev from the previously
set vlan netdev interface. This causes the ip_route_input to drop the
incoming packet considering it as a packet coming from a martian source.

I could repro this on 2.6.32.7 (stable) and 2.6.33-rc7.
With this fix, the traffic starts and the test runs fine on both vlan
and non-vlan interfaces.

CC: Herbert Xu <herbert@gondor.apana.org.au>
CC: Patrick McHardy <kaber@trash.net>
Signed-off-by: Ajit Khaparde <ajitk@serverengines.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agomv643xx_eth: fix missing validate_addr hook
kirjanov@gmail.com [Tue, 16 Feb 2010 20:40:11 +0000 (20:40 +0000)]
mv643xx_eth: fix missing validate_addr hook

Fix missing validate_addr hook.

Signed-off-by: Denis Kirjanov <kirjanov@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet: Add Aeroflex Gaisler 10/100/1G Ethernet MAC driver
Kristoffer Glembo [Mon, 15 Feb 2010 03:33:44 +0000 (03:33 +0000)]
net: Add Aeroflex Gaisler 10/100/1G Ethernet MAC driver

Adds device driver for Aeroflex Gaisler 10/100 and 10/100/1G Ethernet
MAC IP cores.

Signed-off-by: Kristoffer Glembo <kristoffer@gaisler.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agovia-velocity: Enable scatter/gather IO by default
Simon Kagstrom [Thu, 11 Feb 2010 05:39:55 +0000 (05:39 +0000)]
via-velocity: Enable scatter/gather IO by default

Reduces CPU utilization significantly with sendfile for example.

Signed-off-by: Simon Kagstrom <simon.kagstrom@netinsight.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoipg: Remove device claimed by dl2k from pci id table
Jeff Mahoney [Thu, 11 Feb 2010 10:26:38 +0000 (10:26 +0000)]
ipg: Remove device claimed by dl2k from pci id table

This patch removes D-Link DGE-550T PCI ID (1186:4000) from the ipg
driver. The ipg driver is for IP2000-based cards and the DGE-550T is
a DL2000-based card. The driver loads and works for a few moments, but
once a real workload is applied it stops operating. The ipg driver
claimed this ID since it was introduced in 2.6.24 and it's forced many
users to blacklist it.

The correct driver for this hardware is the dl2k driver, which has been
claiming this PCI ID since the 2.4 days.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoxfrm: Revert false event eliding commits.
David S. Miller [Wed, 17 Feb 2010 21:41:40 +0000 (13:41 -0800)]
xfrm: Revert false event eliding commits.

As reported by Alexey Dobriyan:

--------------------
setkey now takes several seconds to run this simple script
and it spits "recv: Resource temporarily unavailable" messages.

#!/usr/sbin/setkey -f
flush;
spdflush;

add A B ipcomp 44 -m tunnel -C deflate;
add B A ipcomp 45 -m tunnel -C deflate;

spdadd A B any -P in ipsec
        ipcomp/tunnel/192.168.1.2-192.168.1.3/use;
spdadd B A any -P out ipsec
        ipcomp/tunnel/192.168.1.3-192.168.1.2/use;
--------------------

Obviously applications want the events even when the table
is empty.  So we cannot make this behavioral change.

Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoSiS190/191 half-duplex initialization fix
Riccardo Ghetta [Wed, 17 Feb 2010 09:28:58 +0000 (09:28 +0000)]
SiS190/191 half-duplex initialization fix

Adds half-duplex specific setup code (taken from SiS own GPL driver).
Without those, half-duplex connections are very unreliable, often
working on small transfers and failing after a while.

Signed-off-by: Riccardo Ghetta <birrachiara@tin.it>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoethtool: Don't flush n-tuple list from ethtool_reset()
Ben Hutchings [Wed, 17 Feb 2010 09:26:54 +0000 (09:26 +0000)]
ethtool: Don't flush n-tuple list from ethtool_reset()

The n-tuple list should be flushed if and only if the ETH_RESET_FILTER
flag is set and the driver is able to reset filtering/flow direction
hardware without also resetting a component whose flag is not set.
This test is best left to the driver.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: version number and date
Vladislav Zolotarov [Wed, 17 Feb 2010 02:05:54 +0000 (02:05 +0000)]
bnx2x: version number and date

Updated release version and date: 1.52.1-6 and 2010/02/16

Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: Use firmware 5.2.13
Vladislav Zolotarov [Wed, 17 Feb 2010 21:35:01 +0000 (13:35 -0800)]
bnx2x: Use firmware 5.2.13

Switch to the new firmware version (5.2.13).

Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: FW 5.2.13
Vladislav Zolotarov [Wed, 17 Feb 2010 21:33:02 +0000 (13:33 -0800)]
bnx2x: FW 5.2.13

New firmware version (5.2.13).

Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: fix in 57710 self-test
Vladislav Zolotarov [Wed, 17 Feb 2010 02:04:00 +0000 (02:04 +0000)]
bnx2x: fix in 57710 self-test

Bug fix: Use the last unicast entry in CAM in bnx2x_test_int(). Relevant for 57710 only.

Author: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: Do not allow enabling LRO if disable_tpa=1
Vladislav Zolotarov [Wed, 17 Feb 2010 02:03:40 +0000 (02:03 +0000)]
bnx2x: Do not allow enabling LRO if disable_tpa=1

Bug fix: Do not allow enabling LRO if disable_tpa=1.

Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: clean up in case of error in bnx2x_init_hw()
Vladislav Zolotarov [Wed, 17 Feb 2010 02:03:33 +0000 (02:03 +0000)]
bnx2x: clean up in case of error in bnx2x_init_hw()

Bug fix: clean up MCP state in case of error in bnx2x_init_hw().

Author: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: Properly release allocated MSI-X/MSI vectors
Vladislav Zolotarov [Wed, 17 Feb 2010 02:03:27 +0000 (02:03 +0000)]
bnx2x: Properly release allocated MSI-X/MSI vectors

Bug fix: Properly release allocated MSI-X/MSI vectors if ifup failed
due to lack of memory.

Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agodrivers/net/usb: Use netif_<level> logging facilities
Joe Perches [Wed, 17 Feb 2010 10:30:24 +0000 (10:30 +0000)]
drivers/net/usb: Use netif_<level> logging facilities

Convert from:
if (netif_msg_<foo>(priv))
dev_<level>(dev...
to
netif_<level>(priv, foo, dev...

Also convert a few:

if (i < REG_TIMEOUT) {
etc...
return ret;
       }
to
if (i >= REG_TIMEOUT)
goto fail;
etc...
return ret;

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agousbnet: Convert dev(dbg|err|warn|info) macros to netdev_<level>
Joe Perches [Wed, 17 Feb 2010 10:30:23 +0000 (10:30 +0000)]
usbnet: Convert dev(dbg|err|warn|info) macros to netdev_<level>

These macros are too similar to the dev_<level> equivalents
but take a usbnet * argument.  Convert them to the recently
introduced netdev_<level> macros and remove the old macros.

The old macros had "\n" appended to the format string.
Add the "\n" to the converted uses.

Some existing uses of the dev<foo> macros in cdc_eem.c
probably mistakenly had trailing "\n".  No "\n" added there.

Fix net1080 this/other log message inversion.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobe2net: implement pci shutdown handler
Sathya Perla [Wed, 17 Feb 2010 01:35:37 +0000 (01:35 +0000)]
be2net: implement pci shutdown handler

Signed-off-by: Sathya Perla <sathyap@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobe2net: fix rx-path to ignore a flush completion
Sathya Perla [Wed, 17 Feb 2010 01:35:26 +0000 (01:35 +0000)]
be2net: fix rx-path to ignore a flush completion

The flush compl (compl with numfrags == 0; no data) is rcvd
from hw to indicate completion of RXQ destory operation. Fix
the RX path to not process it as RX data.

Signed-off-by: Sathya Perla <sathyap@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobe2net: don't rearm mcc cq when device is not open
Sathya Perla [Wed, 17 Feb 2010 01:35:11 +0000 (01:35 +0000)]
be2net: don't rearm mcc cq when device is not open

When an MCC cmd is issued (via a netdev/ethtool op)
while the device is not open, the MCC CQ gets processed but the EQ
is not processed (as isr is not registered.) This can cause the EQ
to become full. So, while the device is not open, CQ must not be re-armed
to prevent EQ entries.

Signed-off-by: Sathya Perla <sathyap@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobe2net: a mini optimization in rx_compl_process() code
Sathya Perla [Wed, 17 Feb 2010 01:34:22 +0000 (01:34 +0000)]
be2net: a mini optimization in rx_compl_process() code

Introduce unlikely() for skb alloc failure and vlanf checks...

Signed-off-by: Sathya Perla <sathyap@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoqlge: Fix occasional loopback test failure.
Ron Mercer [Wed, 17 Feb 2010 06:41:23 +0000 (06:41 +0000)]
qlge: Fix occasional loopback test failure.

On some servers we see the cleaning of the RX queue finish before all
the loopback packets are sent out.  This delay allows the queues to
settle before checking for successful completion.
Also, delay completion so link has time to come back up.

Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoqlge: Fix bonding mac address bug.
Ron Mercer [Wed, 17 Feb 2010 06:41:22 +0000 (06:41 +0000)]
qlge: Fix bonding mac address bug.

Use local copy of current mac address when initializing.  In bonding
testing we saw cases where dev_addr was out of data causing failover
errors.

Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoqlge: Fix dropping of large non-TCP/UDP frames.
Ron Mercer [Wed, 17 Feb 2010 06:41:21 +0000 (06:41 +0000)]
qlge: Fix dropping of large non-TCP/UDP frames.

This was found with pings that were large enough to span multiple rx
buffers.  The split frame logic handles this case nicely.

Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoll_temac: Fix MAC address configuration from userland
Steven J. Magnani [Wed, 17 Feb 2010 07:55:07 +0000 (07:55 +0000)]
ll_temac: Fix MAC address configuration from userland

A userland command to set the LLTEMAC MAC address,
i.e. "ifconfig eth0 hw addr xx:yy:zz:pp:dd:qq",
results in a device address of 00:01:xx:yy:zz:pp.
Correct this.

Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoll_temac: Add support for V2 LLTEMAC core
Steven J. Magnani [Wed, 17 Feb 2010 07:14:20 +0000 (07:14 +0000)]
ll_temac: Add support for V2 LLTEMAC core

LLTEMAC V1 cores place only received packet length in the app4 word.
V2 cores place additional information in app4.
Mask out the additional information when retrieving the packet length.

Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet: convert multiple drivers to use netdev_for_each_mc_addr
Jiri Pirko [Wed, 17 Feb 2010 11:09:31 +0000 (11:09 +0000)]
net: convert multiple drivers to use netdev_for_each_mc_addr

Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agocassini: convert to use netdev_for_each_mc_addr
Jiri Pirko [Wed, 17 Feb 2010 10:43:33 +0000 (10:43 +0000)]
cassini: convert to use netdev_for_each_mc_addr

Introduced a new function to do the mc list processing, makes code
clearer after transition.

Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet: use kasprintf() for socket cache names
Alexey Dobriyan [Wed, 17 Feb 2010 09:34:12 +0000 (09:34 +0000)]
net: use kasprintf() for socket cache names

kasprintf() makes code smaller.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoxt_hashlimit: fix locking
Eric Dumazet [Wed, 17 Feb 2010 06:43:47 +0000 (06:43 +0000)]
xt_hashlimit: fix locking

Commit 2eff25c18c3d332d3c4dd98f2ac9b7114e9771b0
(netfilter: xt_hashlimit: fix race condition and simplify locking)
added a mutex deadlock :
htable_create() is called with hashlimit_mutex already locked

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoipmr: remove useless checks from ipmr_device_event
Pavel Emelyanov [Wed, 17 Feb 2010 01:19:32 +0000 (01:19 +0000)]
ipmr: remove useless checks from ipmr_device_event

The net being checked there is dev_net(dev) and thus this if
is always false.

Fits both net and net-next trees.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: update tx DMA mapping error handling
Nick Nunley [Wed, 17 Feb 2010 01:06:16 +0000 (01:06 +0000)]
igb: update tx DMA mapping error handling

This updates the tx DMA mapping error handling code to
resemble e1000e/ixgbe.

Signed-off-by: Nicholas Nunley <nicholasx.d.nunley@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: change descriptor control thresholds
Nick Nunley [Wed, 17 Feb 2010 01:05:56 +0000 (01:05 +0000)]
igb: change descriptor control thresholds

This change simplifies the code by setting RX_PTHRESH to 8 for
all devices, as it was unlikely that there was any advantage to
set it at 16 for earlier cards. Additionally TX_WTHRESH is
set to 1 for the 82576 NIC to improve performance by enabling
a minimal amount of write combining when writing back descriptors.

Signed-off-by: Nicholas Nunley <nicholasx.d.nunley@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: use igb_free_q_vectors to cleanup failure in igb_alloc_q_vectors
Nick Nunley [Wed, 17 Feb 2010 01:05:35 +0000 (01:05 +0000)]
igb: use igb_free_q_vectors to cleanup failure in igb_alloc_q_vectors

This change makes it so that igb_free_q_vectors is reused in
igb_alloc_q_vectors to handle the cleanup instead of unwinding
through the allocations.

Signed-off-by: Nicholas Nunley <nicholasx.d.nunley@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: remove unused vmolr value
Nick Nunley [Wed, 17 Feb 2010 01:05:15 +0000 (01:05 +0000)]
igb: remove unused vmolr value

In an earlier version of igb_write_mc_addr_list() the vmolr register
was modified. This register is no longer accessed, although the variable
still exists. This patch removes it from the function.

Signed-off-by: Nicholas Nunley <nicholasx.d.nunley@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: minor type cleanups
Nick Nunley [Wed, 17 Feb 2010 01:04:56 +0000 (01:04 +0000)]
igb: minor type cleanups

This change cleans up some instances where unsigned int and u32
were being used interchangeably, and cleans up hdr_len which
was being set to 0 twice.

Signed-off-by: Nicholas Nunley <nicholasx.d.nunley@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: move gso_segs into buffer_info structure
Nick Nunley [Wed, 17 Feb 2010 01:04:37 +0000 (01:04 +0000)]
igb: move gso_segs into buffer_info structure

This change moves gso_segs into the buffer_info structure to avoid
a possible cache line miss in clean_tx_irq.

Signed-off-by: Nicholas Nunley <nicholasx.d.nunley@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: inline igb_maybe_stop_tx
Nick Nunley [Wed, 17 Feb 2010 01:04:18 +0000 (01:04 +0000)]
igb: inline igb_maybe_stop_tx

igb_maybe_stop_tx() is extremely small and appears in several spots in
the tx hotpath. This change inlines the function for a possible
performance boost.

Signed-off-by: Nicholas Nunley <nicholasx.d.nunley@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: only read phy specific stats if in internal phy mode
Nick Nunley [Wed, 17 Feb 2010 01:03:58 +0000 (01:03 +0000)]
igb: only read phy specific stats if in internal phy mode

There are a couple statistics registers that are not meant to
be read when in SGMII/serdes mode. This patch adds a check to
verify mode before reading and updating these statistics.

Signed-off-by: Nicholas Nunley <nicholasx.d.nunley@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: only support SRRCTL_DROP_EN when using multiple queues
Nick Nunley [Wed, 17 Feb 2010 01:03:38 +0000 (01:03 +0000)]
igb: only support SRRCTL_DROP_EN when using multiple queues

The SRRCTL.DROP_EN bit should only be set when we are supporting
multiple queues. This bit is meant to prevent head of line blocking
and is unnecessary in the single queue case.

Signed-off-by: Nicholas Nunley <nicholasx.d.nunley@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: cap interrupts at 20K per queue when in itr mode 3
Nick Nunley [Wed, 17 Feb 2010 01:03:19 +0000 (01:03 +0000)]
igb: cap interrupts at 20K per queue when in itr mode 3

In order to maintain similar performance between MSI-X and
legacy/MSI interrupts, this patch reduces the number of interrupts
when receiving small packets to 20K when in interrupt throttle
rate mode 3.

Signed-off-by: Nicholas Nunley <nicholasx.d.nunley@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: remove adaptive IFS from driver
Nick Nunley [Wed, 17 Feb 2010 01:02:59 +0000 (01:02 +0000)]
igb: remove adaptive IFS from driver

Adaptive IFS support has been included in the igb driver since its
initial release, but it is not a feature on any igb NICs. This patch
removes it from the driver.

Signed-off-by: Nicholas Nunley <nicholasx.d.nunley@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: Allocate rings seperately instead of as a block
Alexander Duyck [Wed, 17 Feb 2010 01:02:39 +0000 (01:02 +0000)]
igb: Allocate rings seperately instead of as a block

This change makes it so that the rings are allocated seperately.  As a
result we can allocate them on seperate nodes at some point in the future
if we so desire.

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>
14 years agoigb: call pci_save_state after pci_restore_state
Nick Nunley [Wed, 17 Feb 2010 01:02:19 +0000 (01:02 +0000)]
igb: call pci_save_state after pci_restore_state

This patch adds calls to pci_save_state() immediately after
calls to pci_restore_state(). Due to a change in the behavior
of pci_restore_state() it is necessary to call pci_save_state()
to keep the state_saved flag. This patch is based on a similar
patch for ixgbe.

Signed-off-by: Nicholas Nunley <nicholasx.d.nunley@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: Power down link when interface is down
Nick Nunley [Wed, 17 Feb 2010 01:01:59 +0000 (01:01 +0000)]
igb: Power down link when interface is down

This changes the behavior of the driver to power down the link
when the associated interface is down, unless management is enabled.

Signed-off-by: Nicholas Nunley <nicholasx.d.nunley@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: ignore EEPROM APME check when shutting down serdes link
Nick Nunley [Wed, 17 Feb 2010 01:01:40 +0000 (01:01 +0000)]
igb: ignore EEPROM APME check when shutting down serdes link

Checking the EEPROM APME state unnecessarily prevents the link from
shutting down. The standard power down routines should be
sufficient to determine whether the serdes link can power down
when going into D3.

Signed-off-by: Nicholas Nunley <nicholasx.d.nunley@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: Report link status in ethtool when interface is down
Nick Nunley [Wed, 17 Feb 2010 01:01:21 +0000 (01:01 +0000)]
igb: Report link status in ethtool when interface is down

With this change ethtool will correctly report link status when
the interface is down. Currently ethtool reports the link as not
detected when the interface is down.

Signed-off-by: Nicholas Nunley <nicholasx.d.nunley@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: add support for wake-on-link
Nick Nunley [Wed, 17 Feb 2010 01:01:01 +0000 (01:01 +0000)]
igb: add support for wake-on-link

This adds support for wake-on-link/phy activity to the ethtool
interface.

Signed-off-by: Nicholas Nunley <nicholasx.d.nunley@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: remove unecessary q_vector declarations and remove itr_shift
Alexander Duyck [Wed, 17 Feb 2010 01:00:41 +0000 (01:00 +0000)]
igb: remove unecessary q_vector declarations and remove itr_shift

This change removes the use of itr_shift since a mac type call can be
used just as easily to identify the only HW that needs to have the itr
shifted.

In addition it removes two unecessary declarations of a q_vector
pointer from the initialization path.

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>
14 years agoipv6.h: reassembly: replace calculated magic number with multiplication
Joe Perches [Tue, 16 Feb 2010 18:40:04 +0000 (18:40 +0000)]
ipv6.h: reassembly: replace calculated magic number with multiplication

On Tue, 2010-02-16 at 16:47 +0100, Patrick McHardy wrote:
> Joe Perches wrote:
> >> @@ -246,6 +246,8 @@ extern int ipv6_opt_accepted(struct sock *sk, struct sk_buff *skb);
> >>  int ip6_frag_nqueues(struct net *net);
> >>  int ip6_frag_mem(struct net *net);
> >>
> >> +#define IPV6_FRAG_HIGH_THRESH 262144 /* == 256*1024 */
> >> +#define IPV6_FRAG_LOW_THRESH 196608 /* == 192*1024 */
> >>  #define IPV6_FRAG_TIMEOUT (60*HZ) /* 60 seconds */
> >
> > 196608 isn't a number I want to remember.
> > Is this better as:
> >
> > #define IPV6_FRAG_HIGH_THRESH (256 * 1024) /* 262144 */
> > #define IPV6_FRAG_LOW_THRESH (192 * 1024) /* 196608 */
>
> Please send a patch, I'll apply it once these patches are in Dave's
> tree.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet: remove INIT_RCU_HEAD() usage
Alexey Dobriyan [Fri, 12 Feb 2010 11:41:39 +0000 (11:41 +0000)]
net: remove INIT_RCU_HEAD() usage

call_rcu() will unconditionally reinitialize RCU head anyway.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agob44: Ratelimit timeout error message.
Jochen Friedrich [Fri, 12 Feb 2010 10:11:54 +0000 (10:11 +0000)]
b44: Ratelimit timeout error message.

Signed-off-by: Jochen Friedrich <jochen@scram.de>
Signed-off-by: David S. Miller <davem@davemloft.net>