Timo Teras [Tue, 29 Apr 2008 10:32:25 +0000 (03:32 -0700)]
ipv4: Update MTU to all related cache entries in ip_rt_frag_needed()
Add struct net_device parameter to ip_rt_frag_needed() and update MTU to
cache entries where ifindex is specified. This is similar to what is
already done in ip_rt_redirect().
Signed-off-by: Timo Teras <timo.teras@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jarek Poplawski [Tue, 29 Apr 2008 10:29:03 +0000 (03:29 -0700)]
sch_sfq: use del_timer_sync() in sfq_destroy()
Let's delete timer reliably in sfq_destroy().
Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
David L Stevens [Tue, 29 Apr 2008 10:23:22 +0000 (03:23 -0700)]
net: Add compat support for getsockopt (MCAST_MSFILTER)
This patch adds support for getsockopt for MCAST_MSFILTER for
both IPv4 and IPv6. It depends on the previous setsockopt patch,
and uses the same method.
Signed-off-by: David L Stevens <dlstevens@us.ibm.com>
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
David L Stevens [Tue, 29 Apr 2008 10:23:00 +0000 (03:23 -0700)]
net: Several cleanups for the setsockopt compat support.
1) added missing "__user" for kgsr and kgf pointers
2) verify read for only GROUP_FILTER_SIZE(0). The group_filter
structure definition (via RFC) includes space for one source
in the source list array, but that source need not be present.
So, sizeof(group_filter) > GROUP_FILTER_SIZE(0). Fixed
the user read-check for minimum length to use the smaller size.
3) remove unneeded "&" for gf_slist addresses
Signed-off-by: David L Stevens <dlstevens@us.ibm.com>
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Julian Anastasov [Tue, 29 Apr 2008 10:21:23 +0000 (03:21 -0700)]
ipvs: fix oops in backup for fwmark conn templates
Fixes bug http://bugzilla.kernel.org/show_bug.cgi?id=10556
where conn templates with protocol=IPPROTO_IP can oops backup box.
Result from ip_vs_proto_get() should be checked because
protocol value can be invalid or unsupported in backup. But
for valid message we should not fail for templates which use
IPPROTO_IP. Also, add checks to validate message limits and
connection state. Show state NONE for templates using IPPROTO_IP.
Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: David S. Miller <davem@davemloft.net>
Bodo Stroesser [Tue, 29 Apr 2008 10:18:13 +0000 (03:18 -0700)]
bridge: kernel panic when unloading bridge module
There is a race condition when unloading bridge and netfilter.
The problem happens if __fake_rtable is in use by a skb
coming in, while someone starts to unload bridge.ko.
br_netfilter_fini() is called at the beginning of unload
in br_deinit() while skbs still are being forwarded and
transferred to local ip stack. Thus there is a possibility
of the __fake_rtable pointer not being removed in a skb that
goes up to ip stack. This results in a kernel panic, as
ip_rcv() calls the input-function of __fake_rtable, which
is NULL.
Moving the call of br_netfilter_fini() to the end of
br_deinit() solves the problem.
Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com>
Signed-off-by: Stephen Hemminger <stephen.hemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Volodymyr G Lukiianyk [Tue, 29 Apr 2008 10:17:42 +0000 (03:17 -0700)]
bridge: fix error handling in br_add_if()
When device is added to bridge its refcnt is incremented (in new_nbp()), but if
error occurs during further br_add_if() operations this counter is not
decremented back. Fix it by adding dev_put() call in the error path.
Signed-off-by: Volodymyr G Lukiianyk <volodymyrgl@gmail.com>
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Arnaud Ebalard [Tue, 29 Apr 2008 10:16:34 +0000 (03:16 -0700)]
netfilter: {nfnetlink,ip,ip6}_queue: fix skb_over_panic when enlarging packets
While reinjecting *bigger* modified versions of IPv6 packets using
libnetfilter_queue, things work fine on a 2.6.24 kernel (2.6.22 too)
but I get the following on recents kernels (2.6.25, trace below is
against today's net-2.6 git tree):
skb_over_panic: text:
c04fddb0 len:696 put:632 head:
f7592c00 data:
f7592c00 tail:0xf7592eb8 end:0xf7592e80 dev:eth0
------------[ cut here ]------------
invalid opcode: 0000 [#1] PREEMPT
Process sendd (pid: 3657, ti=
f6014000 task=
f77c31d0 task.ti=
f6014000)
Stack:
c071e638 c04fddb0 000002b8 00000278 f7592c00 f7592c00 f7592eb8 f7592e80
f763c000 f6bc5200 f7592c40 f6015c34 c04cdbfc f6bc5200 00000278 f6015c60
c04fddb0 00000020 f72a10c0 f751b420 00000001 0000000a 000002b8 c065582c
Call Trace:
[<
c04fddb0>] ? nfqnl_recv_verdict+0x1c0/0x2e0
[<
c04cdbfc>] ? skb_put+0x3c/0x40
[<
c04fddb0>] ? nfqnl_recv_verdict+0x1c0/0x2e0
[<
c04fd115>] ? nfnetlink_rcv_msg+0xf5/0x160
[<
c04fd03e>] ? nfnetlink_rcv_msg+0x1e/0x160
[<
c04fd020>] ? nfnetlink_rcv_msg+0x0/0x160
[<
c04f8ed7>] ? netlink_rcv_skb+0x77/0xa0
[<
c04fcefc>] ? nfnetlink_rcv+0x1c/0x30
[<
c04f8c73>] ? netlink_unicast+0x243/0x2b0
[<
c04cfaba>] ? memcpy_fromiovec+0x4a/0x70
[<
c04f9406>] ? netlink_sendmsg+0x1c6/0x270
[<
c04c8244>] ? sock_sendmsg+0xc4/0xf0
[<
c011970d>] ? set_next_entity+0x1d/0x50
[<
c0133a80>] ? autoremove_wake_function+0x0/0x40
[<
c0118f9e>] ? __wake_up_common+0x3e/0x70
[<
c0342fbf>] ? n_tty_receive_buf+0x34f/0x1280
[<
c011d308>] ? __wake_up+0x68/0x70
[<
c02cea47>] ? copy_from_user+0x37/0x70
[<
c04cfd7c>] ? verify_iovec+0x2c/0x90
[<
c04c837a>] ? sys_sendmsg+0x10a/0x230
[<
c011967a>] ? __dequeue_entity+0x2a/0xa0
[<
c011970d>] ? set_next_entity+0x1d/0x50
[<
c0345397>] ? pty_write+0x47/0x60
[<
c033d59b>] ? tty_default_put_char+0x1b/0x20
[<
c011d2e9>] ? __wake_up+0x49/0x70
[<
c033df99>] ? tty_ldisc_deref+0x39/0x90
[<
c033ff20>] ? tty_write+0x1a0/0x1b0
[<
c04c93af>] ? sys_socketcall+0x7f/0x260
[<
c0102ff9>] ? sysenter_past_esp+0x6a/0x91
[<
c05f0000>] ? snd_intel8x0m_probe+0x270/0x6e0
=======================
Code: 00 00 89 5c 24 14 8b 98 9c 00 00 00 89 54 24 0c 89 5c 24 10 8b 40 50 89 4c 24 04 c7 04 24 38 e6 71 c0 89 44 24 08 e8 c4 46 c5 ff <0f> 0b eb fe 55 89 e5 56 89 d6 53 89 c3 83 ec 0c 8b 40 50 39 d0
EIP: [<
c04ccdfc>] skb_over_panic+0x5c/0x60 SS:ESP 0068:
f6015bf8
Looking at the code, I ended up in nfq_mangle() function (called by
nfqnl_recv_verdict()) which performs a call to skb_copy_expand() due to
the increased size of data passed to the function. AFAICT, it should ask
for 'diff' instead of 'diff - skb_tailroom(e->skb)'. Because the
resulting sk_buff has not enough space to support the skb_put(skb, diff)
call a few lines later, this results in the call to skb_over_panic().
The patch below asks for allocation of a copy with enough space for
mangled packet and the same amount of headroom as old sk_buff. While
looking at how the regression appeared (
e2b58a67), I noticed the same
pattern in ipq_mangle_ipv6() and ipq_mangle_ipv4(). The patch corrects
those locations too.
Tested with bigger reinjected IPv6 packets (nfqnl_mangle() path), things
are ok (2.6.25 and today's net-2.6 git tree).
Signed-off-by: Arnaud Ebalard <arno@natisbad.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Pavel Emelyanov [Tue, 29 Apr 2008 10:15:35 +0000 (03:15 -0700)]
netfilter: x_tables: fix net namespace leak when reading /proc/net/xxx_tables_names
The seq_open_net() call should be accompanied with seq_release_net() one.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Roel Kluin [Tue, 29 Apr 2008 10:15:10 +0000 (03:15 -0700)]
netfilter: xt_TCPOPTSTRIP: signed tcphoff for ipv6_skip_exthdr() retval
if tcphoff remains unsigned, a negative ipv6_skip_exthdr() return value will
go unnoticed,
Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
John Heffner [Tue, 29 Apr 2008 10:13:52 +0000 (03:13 -0700)]
tcp: Limit cwnd growth when deferring for GSO
This fixes inappropriately large cwnd growth on sender-limited flows
when GSO is enabled, limiting cwnd growth to 64k.
Signed-off-by: John Heffner <johnwheffner@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
John Heffner [Tue, 29 Apr 2008 10:13:02 +0000 (03:13 -0700)]
tcp: Allow send-limited cwnd to grow up to max_burst when gso disabled
This changes the logic in tcp_is_cwnd_limited() so that cwnd may grow
up to tcp_max_burst() even when sk_can_gso() is false, or when
sysctl_tcp_tso_win_divisor != 0.
Signed-off-by: John Heffner <johnwheffner@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Paul Gortmaker [Thu, 17 Apr 2008 04:08:10 +0000 (00:08 -0400)]
[netdrvr] gianfar: Determine TBIPA value dynamically
TBIPA needs to be set to a value (on connected MDIO buses) that
doesn't conflict with PHYs on the bus. By hardcoding it to 0x1f,
we were preventing boards with PHYs at 0x1f from working properly.
Instead, scan the bus when it comes up, and find an address that
doesn't have a PHY on it. The TBI PHY configuration code then
trusts that the value in TBIPA is either safe, or doesn't matter
(ie - it's not an active bus with other PHYs).
Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Krzysztof Halasa [Sun, 20 Apr 2008 17:06:39 +0000 (19:06 +0200)]
Driver for IXP4xx built-in Ethernet ports
Adds a driver for built-in IXP4xx Ethernet ports.
Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Roel Kluin [Wed, 23 Apr 2008 21:44:03 +0000 (23:44 +0200)]
ARM: am79c961a: platform_get_irq() may return signed unnoticed
dev->irq is unsigned, platform_get_irq() may return signed unnoticed
Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Cornelia Huck [Thu, 24 Apr 2008 08:15:28 +0000 (10:15 +0200)]
netiucv: Fix missing driver attributes.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Frank Blaschka [Thu, 24 Apr 2008 08:15:27 +0000 (10:15 +0200)]
qeth: layer 2 allow ethtool to set TSO
Allow ethtool to turn on/off EDDP via ethtool TSO interface.
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Ursula Braun [Thu, 24 Apr 2008 08:15:26 +0000 (10:15 +0200)]
qeth: read number of ports from card
Read out number of ports from the hardware.
Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Frank Blaschka [Thu, 24 Apr 2008 08:15:25 +0000 (10:15 +0200)]
qeth: layer 3 add missing dev_open/close to ccwgroup handler
In case the ccwgroup device is set online/offline we have to run
the corresponding dev_open/close for the netdevice.
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Frank Blaschka [Thu, 24 Apr 2008 08:15:24 +0000 (10:15 +0200)]
qeth: rework fast path
Remove unnecessary traces. Remove unnecessary wrappers for skb
functions.
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Frank Blaschka [Thu, 24 Apr 2008 08:15:23 +0000 (10:15 +0200)]
qeth: provide get ethtool settings
Load balancing bonding queries the speed of the slave interfaces.
To support a bond consisting of different slave speeds we have to
report the speed by ethtool settings.
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Frank Blaschka [Thu, 24 Apr 2008 08:15:22 +0000 (10:15 +0200)]
qeth: layer 3 support vlan IPv6 on hiper socket
hiper socket require the QETH_HDR_EXT_VLAN_FRAME flag in the
qdio header to handle vlan tagged frames.
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Peter Tiedemann [Thu, 24 Apr 2008 08:15:21 +0000 (10:15 +0200)]
qeth module size reduction.
Replace complex macro for s390dbf calls by equivalent function. This reduces
module size about 10% without visible performance impact.
Signed-off-by: Peter Tiedemann <ptiedem@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Ursula Braun [Thu, 24 Apr 2008 08:15:20 +0000 (10:15 +0200)]
ccwgroup: Unify parsing for group attribute.
Instead of having each driver for ccwgroup slave device parsing the
input itself and calling ccwgroup_create(), introduce a new function
ccwgroup_create_from_string() and handle parsing inside the ccwgroup
core.
Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Ursula Braun [Thu, 24 Apr 2008 08:15:19 +0000 (10:15 +0200)]
netiucv: get rid of in_atomic() use
There is no urgent need to restart a netiucv connection automatically,
if packets are sent while the netiucv device is not up and running.
Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Klaus D. Wacker [Thu, 24 Apr 2008 08:15:18 +0000 (10:15 +0200)]
lcs: CCL-sequ. numbers required for protocol 802.2 only.
Sequence numbers in skbs (Receive path) are assigned only to
802.2 packets.
Signed-off-by: Klaus D. Wacker <kdwacker@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Bryan Wu [Fri, 25 Apr 2008 03:53:11 +0000 (11:53 +0800)]
Blackfin EMAC Driver: Initial version of ethtool support
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Bryan Wu [Fri, 25 Apr 2008 03:53:10 +0000 (11:53 +0800)]
Blackfin EMAC Driver: code cleanup
- replace specific "bf537" function or data structure name to "bfin_mac"
- cleanup bfin_mac_probe with error checking
- punt set_pin_mux function, call peripheral request/free list functions directly
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Harvey Harrison [Sun, 27 Apr 2008 06:44:03 +0000 (23:44 -0700)]
net: eepro autoport typo
Found by sparse dubious !x & y warning...hidden in the GetBit macro
why !Word doesn't make any sense.
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Steve Glendinning [Mon, 28 Apr 2008 17:37:29 +0000 (18:37 +0100)]
Add support for SMSC LAN8187 and LAN8700 PHYs
Add support for two additional SMSC PHY models with identical interrupt
source and mask registers to the LAN83C185
Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Steve Glendinning [Mon, 28 Apr 2008 17:36:46 +0000 (18:36 +0100)]
Rename SMSC phy functions to be more generic
Several models of SMSC PHY have the same interrupt status and mask
registers as the LAN83C185, so these functions can service multiple
different PHY drivers.
Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Randy Dunlap [Mon, 28 Apr 2008 17:58:22 +0000 (10:58 -0700)]
drivers/net/phy: fix kernel-doc notation
Fix kernel-doc warning:
Warning(linux-2.6.25-git11//drivers/net/phy/phy_device.c:275): No
description found for parameter 'bus_id'
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Sreenivasa Honnur [Tue, 29 Apr 2008 01:09:40 +0000 (21:09 -0400)]
S2io: Version update for multi ring patches
- Updated version number.
Signed-off-by: Surjit Reang <surjit.reang@neterion.com>
Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Sreenivasa Honnur [Tue, 29 Apr 2008 01:08:45 +0000 (21:08 -0400)]
S2io: Enable multi ring support
- Seperate ring specific data
- Initialize all configured rings with equal priority.
- Updated boundary check for number of Rings.
- Updated per ring statistics of rx_bytes and rx_packets.
- Moved lro struct from struct s2io_nic to struct ring_info.
- Access respective rx ring directly in fill_rx_buffers.
- Moved rx_bufs_left struct s2io_nic to struct ring_info.
- Added per ring variables - rxd_mode, rxd_count, dev, pdev.
Signed-off-by: Surjit Reang <surjit.reang@neterion.com>
Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Paulius Zaleckas [Tue, 29 Apr 2008 00:07:31 +0000 (03:07 +0300)]
3c515: use netstats in net_device structure
Use net_device_stats from net_device structure instead of local.
Signed-off-by: Paulius Zaleckas <paulius.zaleckas@teltonika.lt>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Paulius Zaleckas [Mon, 28 Apr 2008 23:45:43 +0000 (02:45 +0300)]
3c509: use netstats in net_device structure
Use net_device_stats from net_device structure instead of local.
Signed-off-by: Paulius Zaleckas <paulius.zaleckas@teltonika.lt>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Paulius Zaleckas [Mon, 28 Apr 2008 23:27:37 +0000 (02:27 +0300)]
3c505: use netstats in net_device structure
Use net_device_stats from net_device structure instead of local.
No need to memset it to 0, because it is allocated by kzalloc.
Signed-off-by: Paulius Zaleckas <paulius.zaleckas@teltonika.lt>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Jeff Garzik [Tue, 29 Apr 2008 05:54:31 +0000 (01:54 -0400)]
Merge branch 'upstream-jeff' of git://git./linux/kernel/git/romieu/netdev-2.6 into upstream
Jeff Garzik [Tue, 29 Apr 2008 05:45:04 +0000 (01:45 -0400)]
Merge branch 'sis190' of git://git./linux/kernel/git/romieu/netdev-2.6 into upstream
Ben Hutchings [Sun, 27 Apr 2008 11:55:59 +0000 (12:55 +0100)]
New driver "sfc" for Solarstorm SFC4000 controller.
The driver supports the 10Xpress PHY and XFP modules on our reference
designs SFE4001 and SFE4002 and the SMC models SMC10GPCIe-XFP and
SMC10GPCIe-10BT.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Jason Riedy [Sun, 27 Apr 2008 22:38:30 +0000 (15:38 -0700)]
iwlwifi: Allow building iwl3945 without iwl4965.
If IWL3945 ever depends on IWLCORE, the silent, user-invisible
IWLWIFI option can go away.
Signed-off-by: Jason Riedy <jason@acm.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Luca Tettamanti [Sun, 27 Apr 2008 22:34:55 +0000 (15:34 -0700)]
wireless: Fix compile error with wifi & leds
Fix build error caused by commit
e82404ad612ebabc65d15c3d59b971cb35c3ff36 ("iwlwifi: Select
LEDS_CLASS.") from David Miller:
Since MAC80211_LEDS is selected by wireless drivers it must select its
own dependencies otherwise a build error may occur (kbuild will select
the symbol regardless of "depends" constraints).
Signed-off-By: Luca Tettamanti <kronos.it@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Evgeniy Polyakov [Sun, 27 Apr 2008 22:27:30 +0000 (15:27 -0700)]
tcp: Fix slab corruption with ipv6 and tcp6fuzz
From: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
This fixes a regression added by
ec3c0982a2dd1e671bad8e9d26c28dcba0039d87
("[TCP]: TCP_DEFER_ACCEPT updates - process as established")
tcp_v6_do_rcv()->tcp_rcv_established(), the latter goes to step5, where
eventually skb can be freed via tcp_data_queue() (drop: label), then if
check for tcp_defer_accept_check() returns true and thus
tcp_rcv_established() returns -1, which forces tcp_v6_do_rcv() to jump
to reset: label, which in turn will pass through discard: label and free
the same skb again.
Tested by Eric Sesterhenn.
Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-By: Patrick McManus <mcmanus@ducksong.com>
David L Stevens [Sun, 27 Apr 2008 08:06:07 +0000 (01:06 -0700)]
ipv4/ipv6 compat: Fix SSM applications on 64bit kernels.
Add support on 64-bit kernels for seting 32-bit compatible MCAST*
socket options.
Signed-off-by: David L Stevens <dlstevens@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Herbert Xu [Sun, 27 Apr 2008 07:59:59 +0000 (00:59 -0700)]
[IPSEC]: Use digest_null directly for auth
Previously digest_null had no setkey function which meant that
we used hmac(digest_null) for IPsec since IPsec always calls
setkey. Now that digest_null has a setkey we no longer need to
do that.
In fact when only confidentiality is specified for ESP we already
use digest_null directly. However, when the null algorithm is
explicitly specified by the user we still opt for hmac(digest_null).
This patch removes this discrepancy. I have not added a new compat
name for it because by chance it wasn't actualy possible for the user
to specify the name hmac(digest_null) due to a key length check in
xfrm_user (which I found out when testing that compat name :)
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Randy Dunlap [Sun, 27 Apr 2008 05:59:02 +0000 (22:59 -0700)]
sunrpc: fix missing kernel-doc
Fix missing sunrpc kernel-doc:
Warning(linux-2.6.25-git7//net/sunrpc/xprt.c:451): No description found for parameter 'action'
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Sam Ravnborg [Sun, 27 Apr 2008 05:57:25 +0000 (22:57 -0700)]
can: Fix copy_from_user() results interpretation
Both copy_to_ and _from_user return the number of bytes, that failed to
reach their destination, not the 0/-EXXX values.
Based on patch from Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Acked-by: Oliver Hartkopp <oliver.hartkopp@volkswagen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sun, 27 Apr 2008 05:50:57 +0000 (22:50 -0700)]
Revert "ipv6: Fix typo in net/ipv6/Kconfig"
This reverts commit
5b3f129c5592ca35b3fe8916767c58b98710478c.
As requested by Maciej W. Rozycki.
Signed-off-by: David S. Miller <davem@davemloft.net>
Al Viro [Sun, 27 Apr 2008 05:42:14 +0000 (22:42 -0700)]
tipc: endianness annotations
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Al Viro [Sun, 27 Apr 2008 05:28:58 +0000 (22:28 -0700)]
ipv6: result of csum_fold() is already 16bit, no need to cast
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
YOSHIFUJI Hideaki [Sun, 27 Apr 2008 05:24:10 +0000 (22:24 -0700)]
[XFRM] AUDIT: Fix flowlabel text format ambibuity.
Flowlabel text format was not correct and thus ambiguous.
For example, 0x00123 or 0x01203 are formatted as 0x123.
This is not what audit tools want.
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Francois Romieu [Wed, 21 Nov 2007 21:30:37 +0000 (22:30 +0100)]
sis190: account for Tx errors
Update the collision counter as well.
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Francois Romieu [Sun, 18 Nov 2007 21:04:05 +0000 (22:04 +0100)]
sis190: remove needless MII reset
It does not help the auto-negotiation process to settle.
Added a debug message to give some hindsight when things
do not work as expected.
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Francois Romieu [Sun, 27 Apr 2008 15:59:52 +0000 (17:59 +0200)]
sis190: Rx path update
- remove the function pointer to help gcc optimizing the
inline pci_dma functions
- pci_dma_sync_single_for_cpu is not needed for a single
large packet
- convert rtl8169_try_rx_copy to bool
b449655ff52ff8a29c66c5fc3fc03617e61182ee did the same
for the r8169 driver.
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Stephen Hemminger [Sun, 27 Apr 2008 12:54:32 +0000 (14:54 +0200)]
sis190: use netdev_alloc_skb
This sets skb->dev and allows arch specific allocation.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Francois Romieu <romieu@fr.zoreil.com>
Stephen Hemminger [Sun, 27 Apr 2008 12:42:27 +0000 (14:42 +0200)]
sis190: hard-code the alignment of tiny packets
There is no DMA involved here. Align the IP header without condition.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Francois Romieu <romieu@fr.zoreil.com>
Stephen Hemminger [Sun, 27 Apr 2008 12:36:59 +0000 (14:36 +0200)]
sis190: use the allocated buffer as a status code in sis190_alloc_rx_skb
The local status code does not carry mory information.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Francois Romieu <romieu@fr.zoreil.com>
Pavel Emelyanov [Fri, 25 Apr 2008 08:49:48 +0000 (01:49 -0700)]
net: Fix wrong interpretation of some copy_to_user() results.
I found some places, that erroneously return the value obtained from
the copy_to_user() call: if some amount of bytes were not able to get
to the user (this is what this one returns) the proper behavior is to
return the -EFAULT error, not that number itself.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Fri, 25 Apr 2008 07:31:07 +0000 (00:31 -0700)]
Merge branch 'upstream-davem' of /linux/kernel/git/jgarzik/netdev-2.6
Eric Dumazet [Fri, 25 Apr 2008 07:29:00 +0000 (00:29 -0700)]
xfrm: alg_key_len & alg_icv_len should be unsigned
In commit
ba749ae98d5aa9d2ce9a7facde0deed454f92230 ([XFRM]: alg_key_len
should be unsigned to avoid integer divides
<http://git2.kernel.org/?p=linux/kernel/git/davem/net-2.6.git;a=commitdiff;h=
ba749ae98d5aa9d2ce9a7facde0deed454f92230>)
alg_key_len field of struct xfrm_algo was converted to unsigned int to
avoid integer divides.
Then Herbert in commit
1a6509d991225ad210de54c63314fd9542922095
([IPSEC]: Add support for combined mode algorithms) added a new
structure xfrm_algo_aead, that resurrected a signed int for alg_key_len
and re-introduce integer divides.
This patch avoids these divides and saves 64 bytes of text on i386.
Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jeff Garzik [Fri, 25 Apr 2008 07:11:31 +0000 (03:11 -0400)]
[netdrvr] tehuti: move ioctl perm check closer to function start
Noticed by davem.
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Michael Beasley [Fri, 25 Apr 2008 06:50:30 +0000 (23:50 -0700)]
ipv6: Fix typo in net/ipv6/Kconfig
Two is used in the wrong context here, as you are connecting to an
IPv6 network over IPv4; not connecting two IPv6 networks to an IPv4
one.
Signed-off-by: Michael Beasley <youvegotmoxie@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Francois Romieu [Thu, 24 Apr 2008 21:32:33 +0000 (23:32 +0200)]
via-velocity: fix vlan receipt
- vlans were using a single CAM register (see mac_set_vlan_cam)
- setting the address filtering registers for vlans is not
needed when there is no vlan
The non-tagged interface is filtered out as soon as a tagged
(!= 0) interface is created. Its traffic appears again when an
zero-tagged interface is created.
Tested on Via Epia SN (VT6130 chipset) with several vlans whose
tag was above or beyond 255.
Signed-off-by: Séguier Régis <rseguier@e-teleport.net>
Acked-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Eric Dumazet [Fri, 25 Apr 2008 06:33:06 +0000 (23:33 -0700)]
tg3: sparse cleanup
Fix the following sparse warning :
drivers/net/tg3.c:4025:3: warning: context imbalance in 'tg3_restart_hw'
- unexpected unlock
Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ayaz Abdulla [Wed, 23 Apr 2008 18:37:30 +0000 (14:37 -0400)]
forcedeth: realtek phy crossover detection
This patch fixes an issue seen with the realtek 8201 phy. This phy has a
problem with crossover detection and it needs to be disabled. The
problem only arises on certain switches. Therefore, a module parameter
has been added to allow enabling crossover detection if needed. The
default will be set to disabled.
Signed-off-by: Ayaz Abdulla <aabdulla@nvidia.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Benjamin Herrenschmidt [Wed, 23 Apr 2008 05:17:14 +0000 (15:17 +1000)]
ibm_newemac: Increase MDIO timeouts
This patch doubles the MDIO timeouts in EMAC as there are field
cases where they are two short to communicate with some PHYs.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Andy Fleming [Tue, 22 Apr 2008 22:18:29 +0000 (17:18 -0500)]
gianfar: Fix skb allocation strategy
gianfar was unable to handle failed skb allocation for rx buffers, so
we were spinning until it succeeded. Actually, it was worse--we were
spinning for a long time, and then silently failing. Instead, we take
Stephen Hemminger's suggestion to try the allocation earlier, and drop the
packet if it failed.
We also make a couple of tweaks to how buffer descriptors are set up.
Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Harvey Harrison [Tue, 22 Apr 2008 18:48:35 +0000 (11:48 -0700)]
netxen: reduce stack usage of netxen_nic_flash_print
Don't need to keep a struct netxen_new_user_info on the stack
when we only are interested in printing the serial_num. Change
to only reading the serial_num.
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Roel Kluin [Fri, 18 Apr 2008 20:50:48 +0000 (13:50 -0700)]
smc911x: test after postfix decrement fails in smc911x_{reset,drop_pkt}
When timeout reaches 0 the postfix decrement still subtracts, so the test
fails.
[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Kay Sievers [Fri, 18 Apr 2008 20:50:44 +0000 (13:50 -0700)]
net drivers: fix platform driver hotplug/coldplug
Since
43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is
prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable network
platform drivers, to re-enable auto loading.
NOTE: didn't change drivers/net/fs_enet/fs_enet-main.c "old binding" support.
That looks problematic in the first place (it even uses the ancient "struct
device_driver" binding scheme for platform_bus!) and I suspect it will vanish
soonish when arch/powerpc rules the world. Also, drivers/net/ne.c would have
needed more thought to sort out.
[akpm@linux-foundation.org: fix sgiseeq.c]
[dbrownell@users.sourceforge.net: more drivers, registration fixes]
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Scott Wood <scottwood@freescale.com>
Cc: Vitaly Bordug <vitb@kernel.crashing.org>
Cc: Dale Farnsworth <dale@farnsworth.org>
Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Andrew Victor <andrew@sanpeople.com>
Cc: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Ayaz Abdulla [Fri, 18 Apr 2008 20:50:43 +0000 (13:50 -0700)]
forcedeth: new backoff implementation
This patch adds support for a new backoff algorithm for half duplex supported
in newer hardware. The old method is will be designated as legacy mode.
Re-seeding random values for the backoff algorithms are performed when a
transmit has failed due to a maximum retry count (1 to 15, where max is
considered the wraparound case of 0).
Signed-off-by: Ayaz Abdulla <aabdulla@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Andrew Morton [Fri, 18 Apr 2008 20:50:39 +0000 (13:50 -0700)]
ehea: make things static
ehea_flush_sq() and ehea_purge_sq() should be static.
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Thomas Klein <osstklei@de.ibm.com>
Cc: Thomas Klein <tklein@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Andy Fleming [Fri, 18 Apr 2008 22:29:54 +0000 (17:29 -0500)]
phylib: Add support for board-level PHY fixups
Sometimes the specific interaction between the platform and the PHY
requires special handling. For instance, to change where the PHY's
clock input is, or to add a delay to account for latency issues in the
data path. We add a mechanism for registering a callback with the PHY
Lib to be called on matching PHYs when they are brought up, or reset.
Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Chris Snook [Sat, 19 Apr 2008 01:51:53 +0000 (21:51 -0400)]
[netdrvr] atlx: code movement: move atl1 parameter parsing
Move some code from atlx.c to atl1.c to prevent build conflict with
the upcoming atl2 code. No changes, just movement.
Signed-off-by: Chris Snook <csnook@redhat.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Chris Snook [Sat, 19 Apr 2008 01:47:41 +0000 (21:47 -0400)]
atlx: remove flash vendor parameter
There's no good reason to manually set the flash vendor in a module
parameter, outside of an Atheros hardware lab. Remove it, so nobody
accidentally bricks their board using it incorrectly.
Signed-off-by: Chris Snook <csnook@redhat.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Francois Romieu [Sun, 20 Apr 2008 16:06:13 +0000 (18:06 +0200)]
korina: misc cleanup
- useless initialization (korina_ope / korina_restart)
- use a single variable for the status code in korina_probe
and propagate the error status code from below
- useless checks in korina_remove : the variables are
necessarily set when korina_probe succeeds
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Francois Romieu [Sun, 20 Apr 2008 16:05:31 +0000 (18:05 +0200)]
korina: fix misplaced return statement
The driver takes the error unwind path without condition.
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Krzysztof Halasa [Sun, 20 Apr 2008 17:10:56 +0000 (19:10 +0200)]
WAN: Fix confusing insmod error code for C101 too.
Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Cédric Augonnet [Sun, 20 Apr 2008 17:15:51 +0000 (19:15 +0200)]
Removing dead code in drivers/net/wan/hdlc_fr.c
The local variable "prefix" is never used anymore, and the content of
this string appears a bit later, directly in a call to "alloc_netdev"
after doing exactly the same if/else test. So there seems to be no
point keeping those 4 lines anymore.
Signed-off-by: Cédric Augonnet <cedric.augonnet@ens-lyon.org>
Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Francois Romieu [Sun, 20 Apr 2008 17:32:34 +0000 (19:32 +0200)]
tehuti: check register size
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Grant Grundler [Mon, 21 Apr 2008 04:44:15 +0000 (22:44 -0600)]
[netdrvr] typhoon: typhoon_resume - remove call to start_queue
While trying to fix http://bugzilla.kernel.org/show_bug.cgi?id=8952
I looked at a few other drivers to figure out what drivers _should_
be doing for suspend/resume. I noticed typhoon driver is likely doing
more than it needs to. Patch below is untested since I don't have the HW.
Suspend/resume code across NIC drivers is fairly inconsistent.
And I couldn't find any documentation on what the canonical sequence
NICs need to do for suspend or resume. Is there any?
Barring contrary advice, I'm going model the tulip suspend/resume
fixes after tg3.c since a number of "modern" (< 5 years old) laptops
have that and I'm silly enough to assume it works.
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Valentine Barshak [Tue, 22 Apr 2008 00:46:48 +0000 (10:46 +1000)]
ibm_newemac: PowerPC 440EP/440GR EMAC PHY clock workaround
This patch adds ibm_newemac PHY clock workaround for 440EP/440GR EMAC
attached to a PHY which doesn't generate RX clock if there is no link.
The code is based on the previous ibm_emac driver stuff. The 440EP/440GR
allows controlling each EMAC clock separately as opposed to global clock
selection for 440GX.
BenH: Made that #ifdef CONFIG_PPC_DCR_NATIVE for now as dcri_* stuff doesn't
exist for MMIO type DCRs like Cell. Some future rework & improvements of the
DCR infrastructure will make that cleaner but for now, this makes it work.
Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Valentine Barshak [Tue, 22 Apr 2008 00:46:46 +0000 (10:46 +1000)]
ibm_newemac: PowerPC 440GX EMAC PHY clock workaround
The PowerPC 440GX Taishan board fails to reset EMAC3 (reset timeout
error) if there's no link. Because of that it fails to find PHY
chip. The older ibm_emac driver had a workaround for that: the
EMAC_CLK_INTERNAL/EMAC_CLK_EXTERNAL macros, which toggle the Ethernet
Clock Select bit in the SDR0_MFR register. This patch does the same for
"ibm,emac-440gx" compatible chips. The workaround forces clock on -all-
EMACs, so we select clock under global emac_phy_map_lock.
BenH: Made that #ifdef CONFIG_PPC_DCR_NATIVE for now as dcri_* stuff
doesn't exist for MMIO type DCRs like Cell. Some future rework &
improvements of the DCR infrastructure will make that cleaner but
for now, this makes it work.
Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Josh Boyer [Tue, 22 Apr 2008 00:46:44 +0000 (10:46 +1000)]
ibm_newemac Use status property for unused/unwired EMACs
Convert ibm_newemac to use the of_device_is_available function when checking
for unused/unwired EMACs. We leave the current check for an "unused" property
to maintain backwards compatibility for older device trees. Newer device
trees should simply use the standard "status" property in the EMAC node.
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Josh Boyer [Tue, 22 Apr 2008 00:46:43 +0000 (10:46 +1000)]
ibm_newemac: Fix section mismatch warnings
This patch fixes several section mismatch warnings in the
ibm_newemac driver similar to:
WARNING: vmlinux.o(.devinit.text+0x3a04): Section mismatch in reference from the function emac_probe() to the function .devexit.text:tah_detach()
The function __devinit emac_probe() references
a function __devexit tah_detach().
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Stefan Roese [Tue, 22 Apr 2008 00:46:42 +0000 (10:46 +1000)]
ibm_newemac: Add support for 460EX/GT-type MAL rx-channel handling
On some 4xx PPC's (e.g. 460EX/GT), the rx channel number is a multiple
of 8 (e.g. 8 for EMAC1, 16 for EMAC2), but enabling in MAL_RXCASR needs
the divided by 8 value for the bitmask.
Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Stefan Roese [Tue, 22 Apr 2008 00:46:42 +0000 (10:46 +1000)]
ibm_newemac: Fix problem with jumbo frame support and EMAC V4.patch
This fixes the jumbo frame support on EMAC V4 systems. Now the correct
bit is set depending on the EMAC version configured.
Tested on Kilauea (405EX) and Canyonlands (460EX).
Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Jesse Brandeburg [Wed, 23 Apr 2008 18:09:39 +0000 (11:09 -0700)]
e1000e: Increment version to 0.2.1
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Auke Kok [Wed, 23 Apr 2008 18:09:34 +0000 (11:09 -0700)]
igb: save and restore pcie/msi state to support EEH recovery
To enable EEH support for pci-express network adapters, pcie/msi state
needs to be saved and restored for that adapter.
[after similar patches for ixgbe and e1000e from Wendy Xiong]
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Cc: Wendy Xiong <wendyx@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Wendy Xiong [Wed, 23 Apr 2008 18:09:29 +0000 (11:09 -0700)]
e1000e: save and restore pcie/msi state to support EEH recovery
To enable EEH support for pci-express network adapters, pcie/msi state
needs to be saved and restored for that adapter.
Tested this EEH patch with 2ports and 4ports pci-express e1000e
adapters.
Signed-off-by: Wendy Xiong <wendyx@us.ibm.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Wendy Xiong [Wed, 23 Apr 2008 18:09:24 +0000 (11:09 -0700)]
ixgbe: save and restore pcie/msi state to support EEH recovery
To enable EEH support for pci-express network adapters, pcie/msi state
needs to be saved and restored for that adapter.
Tested this EEH patch with Intel 10G pci-express ixgbe adapter.
Signed-off-by: Wendy Xiong <wendyx@us.ibm.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Auke Kok [Wed, 23 Apr 2008 18:09:19 +0000 (11:09 -0700)]
e1000e: lower ring minimum size to 64
The lower limit of 80 descriptors in the ring is only valid for
one older 8254x chipset. All e1000e devices can use as low as
64 descriptors.
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
David Graham [Wed, 23 Apr 2008 18:09:14 +0000 (11:09 -0700)]
e1000e: Fix HW Error on es2lan, ARP capture issue by BMC
Several components to this complex fix. The es2lan cards occasionally
gave a "HW Error" especially when forcing speed. Some users also
reported that the BMC stole ARP packets.
The fixes include setting the proper SW_FW bits to tell the BMC
that we're active and not do any un-initialization at all, so the
setup routine is largely changed.
Signed-off-by: David Graham <david.graham@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Auke Kok [Wed, 23 Apr 2008 18:09:08 +0000 (11:09 -0700)]
e1000e: Add interrupt moderation run-time ethtool interface
The ethtool -c / -C interface can now be used to modify the
irq moderation algorithm. This change does not require an
adapter reset and can thus be used at all times. The adapter
only supports changing/reading rx-usecs which has special
values for 0, 1 and 3:
0 - no irq moderation whatsoever
1 - normal moderation favoring regular mixed traffic (default)
3 - best attempt at low latency possible at cost of CPU
For values between 10 and 10000 the rx-usecs defines "the minimum
time between successive irqs" in usec, unlike the module parameter.
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Bruce Allan [Wed, 23 Apr 2008 18:09:00 +0000 (11:09 -0700)]
e1000e: cleanup several stats issues
Several stats registers are completely unused and we just waste pci
bus time reading them. We also omit using the high 32 bits of the GORC/
GOTC counters. We can just read clear them and only read the low registers.
Mii-tool can also break es2lan if it executes a MII PHY register
ioctl while the device is in autonegotiation. Unfortunately it seems
that several applications and installations still perform this ioctl
call periodically and especially in this crucial startup time. We
can fool the ioctl by providing fail safe information that mimics
the "down" link state and only perform the dangerous PHY reads once
after link comes up to fill in the real values. As long as link
stays up the information will not change.
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Sreenivasa Honnur [Wed, 23 Apr 2008 17:31:33 +0000 (13:31 -0400)]
S2io: Removed rx_lock and put_lock
- Removed rx_lock and put_lock as the buffer replenishment and
receive completion is handled serially.
Signed-off-by: Surjit Reang <surjit.reang@neterion.com>
Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Sreenivasa Honnur [Wed, 23 Apr 2008 17:29:42 +0000 (13:29 -0400)]
S2io: Removed receive buffer replenishment tasklet
- Removed receive buffer replenishment tasklet s2io_tasklet and instead
allocating the receive buffers in either the interrupt handler (no napi)
or the napi handler (napi enabled).
Signed-off-by: Surjit Reang <surjit.reang@neterion.com>
Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Sreenivasa Honnur [Wed, 23 Apr 2008 17:28:58 +0000 (13:28 -0400)]
S2io: Version update for memory leak fix during free_tx_buffers
- Updated version number.
Signed-off-by: Santosh Rastapur <santosh.rastapur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Sreenivasa Honnur [Wed, 23 Apr 2008 17:28:08 +0000 (13:28 -0400)]
S2io: Fix memory leak during free_tx_buffers
- Fix the memory leak during free_tx_buffers.
Signed-off-by: Santosh Rastapur <santosh.rastapur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Andy Fleming [Wed, 23 Apr 2008 21:56:17 +0000 (16:56 -0500)]
ucc_geth: Fix sneaky merge conflict regarding bus_id
The patch that changed mdio_bus to a string didn't conflict strongly enough
with the patch that added fixed PHY support to UCC. Gather it back into
the fold.
Fixes this error:
...
CC drivers/net/ucc_geth.o
'ucc_geth_probe':
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/net/ucc_geth.c:3935: error:
incompatible types in assignment
make[3]: *** [drivers/net/ucc_geth.o] Error 1
Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>