11 years agobonding: select current active slave when enslaving device for mode tlb and alb
Jiri Pirko [Thu, 26 Mar 2009 00:23:38 +0000]
bonding: select current active slave when enslaving device for mode tlb and alb

I've hit an issue on my system when I've been using RealTek RTL8139D cards in
bonding interface in mode balancing-alb. When I enslave a card, the current
active slave (bond->curr_active_slave) is not set and the link is therefore
not functional.

----
# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)

Bonding Mode: adaptive load balancing
Primary Slave: None
Currently Active Slave: None
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:1f:1f:01:2f:22
----

The thing that gets it right is when I unplug the cable and then I put it back
into the NIC. Then the current active slave is set to eth1 and link is working
just fine. Here is dmesg log with bonding DEBUG messages turned on:
----
ADDRCONF(NETDEV_UP): bond0: link is not ready
event_dev: bond0, event: 1
IFF_MASTER
event_dev: bond0, event: 8
IFF_MASTER
bond_ioctl: master=bond0, cmd=35216
slave_dev=cac5d800:
slave_dev->name=eth1:
eth1: ! NETIF_F_VLAN_CHALLENGED
event_dev: eth1, event: 8
eth1: link up, 100Mbps, full-duplex, lpa 0xC5E1
event_dev: eth1, event: 1
event_dev: eth1, event: 8
IFF_SLAVE
Initial state of slave_dev is BOND_LINK_UP
bonding: bond0: enslaving eth1 as an active interface with an up link.
ADDRCONF(NETDEV_CHANGE): bond0: link becomes ready
event_dev: bond0, event: 4
IFF_MASTER
bond0: no IPv6 routers present

<<<<cable unplug>>>>

eth1: link down
event_dev: eth1, event: 4
IFF_SLAVE
bonding: bond0: link status definitely down for interface eth1, disabling it
event_dev: bond0, event: 4
IFF_MASTER

<<<<cable plug>>>>

eth1: link up, 100Mbps, full-duplex, lpa 0xC5E1
event_dev: eth1, event: 4
IFF_SLAVE
bonding: bond0: link status definitely up for interface eth1.
bonding: bond0: making interface eth1 the new active one.
event_dev: eth1, event: 8
IFF_SLAVE
event_dev: eth1, event: 8
IFF_SLAVE
bonding: bond0: first active interface up!
event_dev: bond0, event: 4
IFF_MASTER
----

The current active slave is set by calling bond_select_active_slave() function
from bond_miimon_commit() function when the slave (eth1) link goes to state up.

I also tested this on other machine with Broadcom NetXtreme II BCM5708
1000Base-T NIC and there all works fine. The thing is that this adapter is down
and goes up after few seconds after it is enslaved.

This patch calls bond_select_active_slave() in bond_enslave() function for modes
alb and tlb and makes sure that the current active slave is set up properly even
when the slave state is already up. Tested on both systems, works fine.

Notice: The same problem can maybe also occrur in mode 8023AD but I'm unable to
test that.

Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agogianfar: reallocate skb when headroom is not enough for fcb
Li Yang [Tue, 24 Mar 2009 23:15:33 +0000]
gianfar: reallocate skb when headroom is not enough for fcb

Gianfar uses a hardware header FCB for offloading.  However when used
with bridging or IP forwarding, TX skb might not have enough headroom
for the FCB.  Reallocate skb for such cases.

Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoBump release date to 25Mar2009 and version to 0.22
Florian Fainelli [Tue, 24 Mar 2009 23:34:38 +0000]
Bump release date to 25Mar2009 and version to 0.22

This patch bumps the driver release date to March 25th 2009
and release version to 0.22.

Signed-off-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agor6040: Fix second PHY address
Florian Fainelli [Tue, 24 Mar 2009 23:34:35 +0000]
r6040: Fix second PHY address

This patch fixes the second PHY address which is strapped
to be at PHY address 3 instead of 2.

Signed-off-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoqeth: fix wait_event_timeout handling
Heiko Carstens [Tue, 24 Mar 2009 20:57:19 +0000]
qeth: fix wait_event_timeout handling

wait_event_timeout just takes the numnber of jiffies to wait as
an argument. That value does not include jiffies itself.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoqeth: check for completion of a running recovery
Ursula Braun [Tue, 24 Mar 2009 20:57:18 +0000]
qeth: check for completion of a running recovery

When a recovery is started for a qeth device, additional invocations
to change a mac address, to configure a VLAN interface on top, or to
add multicast addresses should wait till recovery is finished,
otherwise recovery might fail.

Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoqeth: unregister MAC addresses during recovery.
Klaus-Dieter Wacker [Tue, 24 Mar 2009 20:57:17 +0000]
qeth: unregister MAC addresses during recovery.

qeth: Unregister MAC addresses from device (layer 2) during
recovery cycle. When the device is set online the MAC
addresses are registered again on the device.

Signed-off-by: Klaus-Dieter Wacker <kdwacker@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoqeth: remove EDDP
Frank Blaschka [Tue, 24 Mar 2009 20:57:16 +0000]
qeth: remove EDDP

Performance measurements showed EDDP does not lower CPU costs but increase
them. So we dump out EDDP code from qeth driver.

Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoqeth: add statistics for tx csum
Frank Blaschka [Tue, 24 Mar 2009 20:57:15 +0000]
qeth: add statistics for tx csum

Add statistics counter for software tx checksumming.

Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoqeth: struct device - replace bus_id with dev_name(), dev_set_name()
Kay Sievers [Tue, 24 Mar 2009 20:57:14 +0000]
qeth: struct device - replace bus_id with dev_name(), dev_set_name()

Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agorndis_wlan: Fix build with netdev_ops compat disabled.
David S. Miller [Wed, 25 Mar 2009 07:03:16 +0000]
rndis_wlan: Fix build with netdev_ops compat disabled.

Instead of storing a private ->set_multicast_list, just
have a private netdev ops.

Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoax88796: Add method to take MAC from platform data
Daniel Mack [Wed, 25 Mar 2009 06:32:03 +0000]
ax88796: Add method to take MAC from platform data

Implement a way to provide the MAC address for ax88796 devices from
their platform data. Boards might decide to set the address
programmatically, taken from boot tags or other sources.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agodrivers/net/ax88796.c: take IRQ flags from platform_device
Daniel Mack [Wed, 25 Mar 2009 06:31:22 +0000]
drivers/net/ax88796.c: take IRQ flags from platform_device

This patch adds support to the ax88796 ethernet driver to take IRQ flags
given by the platform_device definition.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoe1000e: add support for 82574 device ID 0x10F6
Bruce Allan [Wed, 25 Mar 2009 06:28:02 +0000]
e1000e: add support for 82574 device ID 0x10F6

Add device ID for a new variant of the 82574 adapter.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Acked-by: John Ronciak <john.ronciak@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoipv6: Fix conflict resolutions during ipv6 binding
Vlad Yasevich [Tue, 24 Mar 2009 16:24:51 +0000]
ipv6: Fix conflict resolutions during ipv6 binding

The ipv6 version of bind_conflict code calls ipv6_rcv_saddr_equal()
which at times wrongly identified intersections between addresses.
It particularly broke down under a few instances and caused erroneous
bind conflicts.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoipv6: Make v4-mapped bindings consistent with IPv4
Vlad Yasevich [Tue, 24 Mar 2009 16:24:50 +0000]
ipv6: Make v4-mapped bindings consistent with IPv4

Binding to a v4-mapped address on an AF_INET6 socket should
produce the same result as binding to an IPv4 address on
AF_INET socket.  The two are interchangable as v4-mapped
address is really a portability aid.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoipv6: Allow ipv4 wildcard binds after ipv6 address binds
Vlad Yasevich [Tue, 24 Mar 2009 16:24:49 +0000]
ipv6: Allow ipv4 wildcard binds after ipv6 address binds

The IPv4 wildcard (0.0.0.0) address does not intersect
in any way with explicit IPv6 addresses.  These two should
be permitted, but the IPv4 conflict code checks the ipv6only
bit as part of the test.  Since binding to an explicit IPv6
address restricts the socket to only that IPv6 address, the
side-effect is that the socket behaves as v6-only.  By
explicitely setting ipv6only in this case, allows the 2 binds
to succeed.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoipv6: Disallow binding to v4-mapped address on v6-only socket.
Vlad Yasevich [Tue, 24 Mar 2009 16:24:48 +0000]
ipv6: Disallow binding to v4-mapped address on v6-only socket.

A socket marked v6-only, can not receive or send traffic to v4-mapped
addresses.  Thus allowing binding to v4-mapped address on such a
socket makes no sense.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agobe2net: cleanup rx/tx rate calculations
Sathya Perla [Tue, 24 Mar 2009 23:40:13 +0000]
be2net: cleanup rx/tx rate calculations

Hi, Pls accept this patch to cleanup rx/tx rate calculations as follows:
- check for jiffies wraparound
- remove typecast of a denominator
- do rate calculation only in workqueue context periodically

Signed-off-by: Sathya Perla <sathyap@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonetlink: add NETLINK_NO_ENOBUFS socket flag
Pablo Neira Ayuso [Tue, 24 Mar 2009 23:37:55 +0000]
netlink: add NETLINK_NO_ENOBUFS socket flag

This patch adds the NETLINK_NO_ENOBUFS socket flag. This flag can
be used by unicast and broadcast listeners to avoid receiving
ENOBUFS errors.

Generally speaking, ENOBUFS errors are useful to notify two things
to the listener:

a) You may increase the receiver buffer size via setsockopt().
b) You have lost messages, you may be out of sync.

In some cases, ignoring ENOBUFS errors can be useful. For example:

a) nfnetlink_queue: this subsystem does not have any sort of resync
method and you can decide to ignore ENOBUFS once you have set a
given buffer size.

b) ctnetlink: you can use this together with the socket flag
NETLINK_BROADCAST_SEND_ERROR to stop getting ENOBUFS errors as
you do not need to resync (packets whose event are not delivered
are drop to provide reliable logging and state-synchronization).

Moreover, the use of NETLINK_NO_ENOBUFS also reduces a "go up, go down"
effect in terms of performance which is due to the netlink congestion
control when the listener cannot back off. The effect is the following:

1) throughput rate goes up and netlink messages are inserted in the
receiver buffer.
2) Then, netlink buffer fills and overruns (set on nlk->state bit 0).
3) While the listener empties the receiver buffer, netlink keeps
dropping messages. Thus, throughput goes dramatically down.
4) Then, once the listener has emptied the buffer (nlk->state
bit 0 is set off), goto step 1.

This effect is easy to trigger with netlink broadcast under heavy
load, and it is more noticeable when using a big receiver buffer.
You can find some results in [1] that show this problem.

[1] http://1984.lsi.us.es/linux/netlink/

This patch also includes the use of sk_drop to account the number of
netlink messages drop due to overrun. This value is shown in
/proc/net/netlink.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agomyri10ge: update firmware headers to 1.4.41
Brice Goglin [Tue, 24 Mar 2009 23:32:13 +0000]
myri10ge: update firmware headers to 1.4.41

Update myri10ge firmware headers to firmware version 1.4.41.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agomacb: fix warning "warning: unused variable `dev' "
vibi sreenivasan [Tue, 24 Mar 2009 23:30:20 +0000]
macb: fix warning "warning: unused variable `dev' "

Removed unused variable dev

Signed-off-by: vibi sreenivasan <vibi_sreenivasan@cms.com>
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoucc_geth: Convert to net_device_ops
Joakim Tjernlund [Fri, 20 Mar 2009 20:09:14 +0000]
ucc_geth: Convert to net_device_ops

Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoclaw: fix minor findings from code analysis tool
Andrew H. Richter [Tue, 24 Mar 2009 03:27:51 +0000]
claw: fix minor findings from code analysis tool

This patch fixes two problems in the claw driver identified by
static code analysis:
o Change in case differentiation of received sense codes
o Use correct data length in claw hard_start_xmit routine

Signed-off-by: Andrew H. Richter <richtera@us.ibm.com>
Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoctcm: fix minor findings from code analysis tool
Joel A. Fowler [Tue, 24 Mar 2009 03:27:49 +0000]
ctcm: fix minor findings from code analysis tool

From: Ursula Braun <ursula.braun@de.ibm.com>

This patch fixes problems in the ctcm driver identified by
static code analysis:
o remove an unnecessary always true condition in ctcm_unpack_skb
o remove duplicate assignment in ctc_mpc_alloc_channel
o remove an unnecessary always true condition in ctcmpc_send_sweep_resp
o remove duplicate initialization in ctcmpc_unpack_skb
o shorten if condition in mpc_action_go_inop
o remove INOP event if mpc group is undefined in mpc_action_doxid7

Signed-off-by: Joel A. Fowler <fowlerja@us.ibm.com>
Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoctcm: avoid wraparound in length of incoming data
Roel Kluin [Tue, 24 Mar 2009 03:27:48 +0000]
ctcm: avoid wraparound in length of incoming data

Since the receive code should tolerate any incoming garbage, it
should be protected against a potential wraparound when manipulating
length values within incoming data.
block_len is unsigned, so a too large subtraction will cause a
wraparound.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoctcm: invalid return code from hard_start_xmit
Ursula Braun [Tue, 24 Mar 2009 03:27:47 +0000]
ctcm: invalid return code from hard_start_xmit

Avoid kernel warning by using the correct hard_start_xmit return
code NETDEV_TX_BUSY for skb requeuing.

Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoclaw: invalid return codes from hard_start_xmit
Ursula Braun [Tue, 24 Mar 2009 03:27:46 +0000]
claw: invalid return codes from hard_start_xmit

Avoid kernel warnings by using the correct hard_start_xmit return
code NETDEV_TX_BUSY for skb requeuing.

Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonetiucv: invalid return code from hard_start_xmit
Ursula Braun [Tue, 24 Mar 2009 03:27:45 +0000]
netiucv: invalid return code from hard_start_xmit

Avoid kernel warning by using the correct hard_start_xmit return
code NETDEV_TX_BUSY for skb requeuing.

Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agolcs: invalid return codes from hard_start_xmit.
Klaus-Dieter Wacker [Tue, 24 Mar 2009 03:27:44 +0000]
lcs: invalid return codes from hard_start_xmit.

Lcs hard_start_xmit routine issued return codes other than
defined for this interface. Now lcs returns only either
NETDEV_TX_OK or NETDEV_TX_BUSY.

Signed-off-by: Klaus-Dieter Wacker <kdwacker@de.ibm.com>
Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoUse kthread instead of kernel_thread
Klaus-Dieter Wacker [Tue, 24 Mar 2009 03:27:43 +0000]
Use kthread instead of kernel_thread

Lcs uses low-level kernel_thread implementation.
All drivers should use <linux/kthread.h> API instead.

Signed-off-by: Klaus-Dieter Wacker <kdwacker@de.ibm.com>
Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonet: Add dependent headers to trace/skb.h
Josh Stone [Tue, 24 Mar 2009 09:44:28 +0000]
net: Add dependent headers to trace/skb.h

The tracing header needs to include definitions for the macros used and
the types referenced.  This lets automated tracing tools like SystemTap
make use of the tracepoint without any specific knowledge of its
meaning (leaving that to the user).

Signed-off-by: Josh Stone <jistone@redhat.com>
CC: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoarp_tables: ifname_compare() can assume 16bit alignment
Eric Dumazet [Tue, 24 Mar 2009 21:15:22 +0000]
arp_tables: ifname_compare() can assume 16bit alignment

Arches without efficient unaligned access can still perform a loop
assuming 16bit alignment in ifname_compare()

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonetfilter: trivial Kconfig spelling fixes
Jan Engelhardt [Tue, 24 Mar 2009 20:35:27 +0000]
netfilter: trivial Kconfig spelling fixes

Supplements commit 67c0d57930ff9a24c6c34abee1b01f7716a9b0e2.

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6
David S. Miller [Tue, 24 Mar 2009 20:24:36 +0000]
Merge branch 'master' of git://git./linux/kernel/git/kaber/nf-next-2.6

11 years agoucc_geth: Fix build breakage caused by a merge
Anton Vorontsov [Tue, 24 Mar 2009 19:06:46 +0000]
ucc_geth: Fix build breakage caused by a merge

This patch fixes following build error:

CC ucc_geth.o
ucc_geth.c: In function 'ucc_geth_probe':
ucc_geth.c:3644: error: implicit declaration of function 'uec_mdio_bus_name'
make[2]: *** [ucc_geth.o] Error 1

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonetfilter: nf_conntrack: Reduce conntrack count in nf_conntrack_free()
Eric Dumazet [Tue, 24 Mar 2009 13:26:50 +0000]
netfilter: nf_conntrack: Reduce conntrack count in nf_conntrack_free()

We use RCU to defer freeing of conntrack structures. In DOS situation, RCU might
accumulate about 10.000 elements per CPU in its internal queues. To get accurate
conntrack counts (at the expense of slightly more RAM used), we might consider
conntrack counter not taking into account "about to be freed elements, waiting
in RCU queues". We thus decrement it in nf_conntrack_free(), not in the RCU
callback.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Tested-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
Signed-off-by: Patrick McHardy <kaber@trash.net>

11 years agoucc_geth: Fix merge error.
David S. Miller [Mon, 23 Mar 2009 23:21:16 +0000]
ucc_geth: Fix merge error.

I left a merge failure unresolved, noticed by Stephen
Rothwell.

Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agofsl_pq_mdio: Use proper address translation
Anton Vorontsov [Thu, 19 Mar 2009 06:48:08 +0000]
fsl_pq_mdio: Use proper address translation

Currently the driver just read "reg" property for constructing MDIO
bus IDs, but this won't work when we'll start using "ranges = <>" in
the device tree, so this will pop up:

Freescale PowerQUICC MII Bus: probed
sysfs: duplicate filename 'mdio@520' can not be created
------------[ cut here ]------------
Badness at c00cb6b8 [verbose debug info unavailable]
NIP: c00cb6b8 LR: c00cb6b8 CTR: c001271c
REGS: cf82fc10 TRAP: 0700   Not tainted  (2.6.29-rc7-03702-g7ccd10f)
MSR: 00029032 <EE,ME,CE,IR,DR>  CR: 42044022  XER: 20000000
TASK = cf81fbd0[1] 'swapper' THREAD: cf82e000
GPR00: c00cb6b8 cf82fcc0 cf81fbd0 0000003b 00000e42 ffffffff 00004000 00000e42
GPR08: c03cb0fc c03bfbdc 00000e42 c03cac50 22044022 1006a2bc 0ffcb000 00000000
GPR16: 0ffc04b0 0ffc5a40 00000000 0ffc79a8 0f7863a8 00000004 00000000 00000000
GPR24: c033a6a8 d1014520 cf85e840 cf82fd08 cf87cf2c cf82fcd8 cf85dea8 ffffffef
NIP [c00cb6b8] sysfs_add_one+0x4c/0x54
LR [c00cb6b8] sysfs_add_one+0x4c/0x54
Call Trace:
[cf82fcc0] [c00cb6b8] sysfs_add_one+0x4c/0x54 (unreliable)
[cf82fcd0] [c00cbc18] create_dir+0x58/0xc0
[cf82fd00] [c00cbcc0] sysfs_create_dir+0x40/0x70
[cf82fd20] [c0159388] create_dir+0x28/0x78
[cf82fd30] [c0159824] kobject_add_internal+0x98/0x13c
[cf82fd50] [c0159e98] kobject_add+0x60/0x98
[cf82fd80] [c018a480] device_add+0x98/0x2ac
[cf82fda0] [c01a2380] mdiobus_register+0xbc/0x1c0
[cf82fdc0] [c019f31c] fsl_pq_mdio_probe+0x284/0x2a0
[cf82fe00] [c0223814] of_platform_device_probe+0x5c/0x84
...

This patch fixes the issue by translating the "reg" property to a full
address, and thus avoids the duplicate names.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agospider_net: Add missing .ndo_validate_addr
David S. Miller [Mon, 23 Mar 2009 21:42:09 +0000]
spider_net: Add missing .ndo_validate_addr

Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agomyri_sbus/sunbmac/sunlance/sunqe: Add missing net_device_ops entries.
David S. Miller [Mon, 23 Mar 2009 21:29:24 +0000]
myri_sbus/sunbmac/sunlance/sunqe: Add missing net_device_ops entries.

Noticed by Stephen Hemminger.

Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
David S. Miller [Mon, 23 Mar 2009 20:35:04 +0000]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6

Conflicts:
drivers/net/ucc_geth.c

11 years agosunqe: Convert to net_device_ops.
David S. Miller [Mon, 23 Mar 2009 20:33:37 +0000]
sunqe: Convert to net_device_ops.

Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agosunlance: Convert to net_device_ops.
David S. Miller [Mon, 23 Mar 2009 20:33:28 +0000]
sunlance: Convert to net_device_ops.

Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agosunbmac: Convert to net_device_ops.
David S. Miller [Mon, 23 Mar 2009 20:33:21 +0000]
sunbmac: Convert to net_device_ops.

Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agomyri_sbus: Convert to net_device_ops.
David S. Miller [Mon, 23 Mar 2009 20:33:11 +0000]
myri_sbus: Convert to net_device_ops.

Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonefilter: nfnetlink: add nfnetlink_set_err and use it in ctnetlink
Pablo Neira Ayuso [Mon, 23 Mar 2009 12:21:06 +0000]
nefilter: nfnetlink: add nfnetlink_set_err and use it in ctnetlink

This patch adds nfnetlink_set_err() to propagate the error to netlink
broadcast listener in case of memory allocation errors in the
message building.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>

11 years agonetfilter: sysctl support of logger choice
Eric Leblond [Mon, 23 Mar 2009 12:16:53 +0000]
netfilter: sysctl support of logger choice

This patchs adds support of modification of the used logger via sysctl.
It can be used to change the logger to module that can not use the bind
operation (ipt_LOG and ipt_ULOG). For this purpose, it creates a
directory /proc/sys/net/netfilter/nf_log which contains a file
per-protocol. The content of the file is the name current logger (NONE if
not set) and a logger can be setup by simply echoing its name to the file.
By echoing "NONE" to a /proc/sys/net/netfilter/nf_log/PROTO file, the
logger corresponding to this PROTO is set to NULL.

Signed-off-by: Eric Leblond <eric@inl.fr>
Signed-off-by: Patrick McHardy <kaber@trash.net>

11 years agoatl1c: remove duplicated #include
Huang Weiyi [Mon, 23 Mar 2009 08:18:58 +0000]
atl1c: remove duplicated #include

Remove duplicated #include in drivers/net/atl1c/atl1c.h.

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agospider_net: Fix build.
David S. Miller [Mon, 23 Mar 2009 08:03:04 +0000]
spider_net: Fix build.

Based upon a report by Stephen Rothwell.

Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agotcp: Discard segments that ack data not yet sent
John Dykstra [Mon, 23 Mar 2009 04:49:57 +0000]
tcp: Discard segments that ack data not yet sent

Discard incoming packets whose ack field iincludes data not yet sent.
This is consistent with RFC 793 Section 3.9.

Change tcp_ack() to distinguish between too-small and too-large ack
field values.  Keep segments with too-large ack fields out of the fast
path, and change slow path to discard them.

Reported-by:  Oliver Zheng <mailinglists+netdev@oliverzheng.com>
Signed-off-by: John Dykstra <john.dykstra1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoucc_geth: Fix oops when using fixed-link support
Anton Vorontsov [Mon, 23 Mar 2009 04:30:52 +0000]
ucc_geth: Fix oops when using fixed-link support

commit b1c4a9dddf09fe99b8f88252718ac5b357363dc4 ("ucc_geth: Change
uec phy id to the same format as gianfar's") introduced a regression
in the ucc_geth driver that causes this oops when fixed-link is used:

Unable to handle kernel paging request for data at address 0x00000000
Faulting instruction address: 0xc0151270
Oops: Kernel access of bad area, sig: 11 [#1]
TMCUTU
NIP: c0151270 LR: c0151270 CTR: c0017760
REGS: cf81fa60 TRAP: 0300   Not tainted  (2.6.29-rc8)
MSR: 00009032 <EE,ME,IR,DR>  CR: 24024042  XER: 20000000
DAR: 00000000, DSISR: 20000000
TASK = cf81cba0[1] 'swapper' THREAD: cf81e000
GPR00: c0151270 cf81fb10 cf81cba0 00000000 c0272e20 c025f354 00001e80
cf86b08c
GPR08: d1068200 cffffb74 06000000 d106c200 42024042 10085148 0fffd000
0ffc81a0
GPR16: 00000001 00000001 00000000 007ffeb0 00000000 0000c000 cf83f36c
cf83f000
GPR24: 00000030 cf83f360 cf81fb20 00000000 d106c200 20000000 00001e80
cf83f360
NIP [c0151270] ucc_geth_open+0x330/0x1efc
LR [c0151270] ucc_geth_open+0x330/0x1efc
Call Trace:
[cf81fb10] [c0151270] ucc_geth_open+0x330/0x1efc (unreliable)
[cf81fba0] [c0187638] dev_open+0xbc/0x12c
[cf81fbc0] [c0187e38] dev_change_flags+0x8c/0x1b0

This patch fixes the issue by removing offending (and somewhat
duplicate) code from init_phy() routine, and changes _probe()
function to use uec_mdio_bus_name().

Also, since we fully construct phy_bus_id in the _probe() routine,
we no longer need ->phy_address and ->mdio_bus fields in
ucc_geth_info structure.

I wish the patch would be a bit shorter, but it seems like the only
way to fix the issue in a sane way. Luckily, the patch has been
tested with real PHYs and fixed-link, so no further regressions
expected.

Reported-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Tested-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agodm9000: locking bugfix
David Brownell [Mon, 23 Mar 2009 04:28:39 +0000]
dm9000: locking bugfix

This fixes a locking bug in the dm9000 driver.  It calls
request_irq() without setting IRQF_DISABLED ... which is
correct for handlers that support IRQ sharing, since that
behavior is not guaranteed for shared IRQs.  However, its
IRQ handler then wrongly assumes that IRQs are blocked.
So the fix just uses the right spinlock primitives in the
IRQ handler.

NOTE:  this is a classic example of the type of bug which
lockdep currently masks by forcibly setting IRQF_DISABLED
on IRQ handlers that did not request that flag.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agobnx2x: Adding licensing to bnx2x_init_values.h
Eilon Greenstein [Mon, 23 Mar 2009 04:24:19 +0000]
bnx2x: Adding licensing to bnx2x_init_values.h

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonet: update dnet.c for bus_id removal
Stephen Rothwell [Mon, 23 Mar 2009 04:22:48 +0000]
net: update dnet.c for bus_id removal

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonetdev: expose net_device_ops compat as config option
Stephen Hemminger [Fri, 20 Mar 2009 19:36:44 +0000]
netdev: expose net_device_ops compat as config option

Now that most network device drivers in (all but one in x86_64 allmodconfig)
support net_device_ops. Expose it as a configuration parameter. Still
need to address even older 32 bit drivers, and other arch before
compatiablity can be scheduled for removal in some future release.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agohostap: convert to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:43 +0000]
hostap: convert to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agohostap: convert to internal net_device_stats
Stephen Hemminger [Fri, 20 Mar 2009 19:36:42 +0000]
hostap: convert to internal net_device_stats

Use pre-existing net_device_stats in network_device struct.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoipw2200: convert to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:41 +0000]
ipw2200: convert to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoipw2100: convert to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:40 +0000]
ipw2100: convert to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoipw2x00: convert infrastructure for use by net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:39 +0000]
ipw2x00: convert infrastructure for use by net_device_ops

Expose routines so drivers can hook. Only set ptrs in netdev
if using old compat code.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoipw2x00: convert to internal net_device_stats
Stephen Hemminger [Fri, 20 Mar 2009 19:36:38 +0000]
ipw2x00: convert to internal net_device_stats

Replace struct in ieee with current net_device_stats, so no longer
need get_stats hook

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agolibertas: convert to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:37 +0000]
libertas: convert to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agolibertas: convert to internal net_device_stats
Stephen Hemminger [Fri, 20 Mar 2009 19:36:36 +0000]
libertas: convert to internal net_device_stats

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoprism54: convert to internal net_device_stats
Stephen Hemminger [Fri, 20 Mar 2009 19:36:35 +0000]
prism54: convert to internal net_device_stats

Also, make ethtool_ops const as it should be, and get rid
of useless cast.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoprism54: convert to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:34 +0000]
prism54: convert to net_device_ops

Also, make ethtool_ops const as it should be, and get rid
of useless cast.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agomac80211_hwsim: convert to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:33 +0000]
mac80211_hwsim: convert to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agozd1201: convert to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:32 +0000]
zd1201: convert to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agozd1201: convert to internal net_device_stats
Stephen Hemminger [Fri, 20 Mar 2009 19:36:31 +0000]
zd1201: convert to internal net_device_stats

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agowl3501: convert to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:30 +0000]
wl3501: convert to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agowl3501: convert to internal net_device_stats
Stephen Hemminger [Fri, 20 Mar 2009 19:36:29 +0000]
wl3501: convert to internal net_device_stats

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoraylan: convert to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:28 +0000]
raylan: convert to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoatmel: convert to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:27 +0000]
atmel: convert to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoairo: convert to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:26 +0000]
airo: convert to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agowavelan: convert to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:25 +0000]
wavelan: convert to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agowavelan: convert to internal net_device_stats
Stephen Hemminger [Fri, 20 Mar 2009 19:36:24 +0000]
wavelan: convert to internal net_device_stats

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agostrip: convert to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:23 +0000]
strip: convert to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonetwave: convert to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:22 +0000]
netwave: convert to net_device_ops

Also get rid of unneeded cast

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonetwave: convert to internal net_device_stats
Stephen Hemminger [Fri, 20 Mar 2009 19:36:21 +0000]
netwave: convert to internal net_device_stats

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agosbni: convert to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:20 +0000]
sbni: convert to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agosbni: use internal net_device_stats
Stephen Hemminger [Fri, 20 Mar 2009 19:36:19 +0000]
sbni: use internal net_device_stats

Convert to use existing net_device_stats.
This driver,
      has bad style,
       of using commas,
   when brackets should be used...

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agolabether: convert to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:18 +0000]
labether: convert to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agolapbether: convert to internal net_device_stats
Stephen Hemminger [Fri, 20 Mar 2009 19:36:17 +0000]
lapbether: convert to internal net_device_stats

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agocycx: convert to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:16 +0000]
cycx: convert to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agodlci: convert to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:15 +0000]
dlci: convert to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agodlci: convert to internal net_device_stats
Stephen Hemminger [Fri, 20 Mar 2009 19:36:14 +0000]
dlci: convert to internal net_device_stats

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agox25_asy: convert to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:13 +0000]
x25_asy: convert to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agox25_asy: convert to internal net_device_stats
Stephen Hemminger [Fri, 20 Mar 2009 19:36:12 +0000]
x25_asy: convert to internal net_device_stats

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoaxnet: convert to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:11 +0000]
axnet: convert to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agosmc91c92: convert to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:10 +0000]
smc91c92: convert to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agosmc91c92: convert to internal net_device_stats
Stephen Hemminger [Fri, 20 Mar 2009 19:36:09 +0000]
smc91c92: convert to internal net_device_stats

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoxirc2ps: convert to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:08 +0000]
xirc2ps: convert to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoxir2cps: convert to internal net_device stats
Stephen Hemminger [Fri, 20 Mar 2009 19:36:07 +0000]
xir2cps: convert to internal net_device stats

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agopcnet: convert driver to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:06 +0000]
pcnet: convert driver to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agopcmcia: convert nmclan driver to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:05 +0000]
pcmcia: convert nmclan driver to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agopcmcia: convert fmvj18x driver to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:04 +0000]
pcmcia: convert fmvj18x driver to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agopcmcia: convert fmvj18x driver to internal net_device_stats
Stephen Hemminger [Fri, 20 Mar 2009 19:36:03 +0000]
pcmcia: convert fmvj18x driver to internal net_device_stats

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agopcmcia: convert 3c574 to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:02 +0000]
pcmcia: convert 3c574 to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agopcmcia: convert 3c589 to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:01 +0000]
pcmcia: convert 3c589 to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agousbnet: convert rndis driver to net_device_ops
Stephen Hemminger [Fri, 20 Mar 2009 19:36:00 +0000]
usbnet: convert rndis driver to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: David S. Miller <davem@davemloft.net>