]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/log
mirror_ubuntu-focal-kernel.git
13 years agor8169: TSO fixes.
Francois Romieu [Tue, 19 Apr 2011 05:53:24 +0000 (22:53 -0700)]
r8169: TSO fixes.

- the MSS value is actually contained in a 11 bits wide (0x7ff) field.
  The extra bit in the former MSSMask did encompass the TSO command
  bit ("LargeSend") as well (0xfff). Oops.

- the Tx descriptor layout is not the same through the whole chipset
  family. The 8169 documentation, the 8168c documentation and Realtek's
  drivers (8.020.00, 1.019.00, 6.014.00) highlight two layouts:
  1. 8169, 8168 up to 8168b (included) and 8101
  2. {8102e, 8168c} and beyond

- notwithstanding the "first descriptor" and "last descriptor" bits, the
  same Tx descriptor content is enforced when a packet consists of several
  descriptors. The chipsets are documented to require it.

Credits go to David Dillow <dave@thedillows.org> for the original patch.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Realtek <nic_swsd@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: myri10ge: convert to hw_features
Michał Mirosław [Fri, 15 Apr 2011 04:50:50 +0000 (04:50 +0000)]
net: myri10ge: convert to hw_features

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Acked-by: Jon Mason <jon.mason@myri.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: dm9000: Fix build
Mark Brown [Mon, 18 Apr 2011 01:04:37 +0000 (01:04 +0000)]
net: dm9000: Fix build

Commit c88fcb (net: dm9000: convert to hw_features) broke the build of
the dm9000 driver since it merged functions which use different names
for the board info structure used for I/O operations without updating
all the references to use the same name. Fix that.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobonding, ipv4, ipv6, vlan: Handle NETDEV_BONDING_FAILOVER like NETDEV_NOTIFY_PEERS
Ben Hutchings [Fri, 15 Apr 2011 13:47:51 +0000 (13:47 +0000)]
bonding, ipv4, ipv6, vlan: Handle NETDEV_BONDING_FAILOVER like NETDEV_NOTIFY_PEERS

It is undesirable for the bonding driver to be poking into higher
level protocols, and notifiers provide a way to avoid that.  This does
mean removing the ability to configure reptitition of gratuitous ARPs
and unsolicited NAs.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agovlan: Propagate NETDEV_NOTIFY_PEERS notifier
Ben Hutchings [Fri, 15 Apr 2011 13:46:49 +0000 (13:46 +0000)]
vlan: Propagate NETDEV_NOTIFY_PEERS notifier

The NETDEV_NOTIFY_PEERS notifier indicates that a device moved to a

different physical link; this also applies to any VLAN devices on top
of it.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoipv6: Send unsolicited neighbour advertismements when notified
Ben Hutchings [Fri, 15 Apr 2011 13:46:02 +0000 (13:46 +0000)]
ipv6: Send unsolicited neighbour advertismements when notified

The NETDEV_NOTIFY_PEERS notifier is a request to send such
advertisements following migration to a different physical link,
e.g. virtual machine migration.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2x: cosmetics: Using ethtool_cmd_speed() API
David Decotigny [Thu, 14 Apr 2011 16:11:34 +0000 (16:11 +0000)]
bnx2x: cosmetics: Using ethtool_cmd_speed() API

This updates bnx2x to use the ethtool_cmd_speed() family of functions
(see b11f8d8c in 2.6.27-rc3 aka. "ethtool: Expand ethtool_cmd.speed to
32 bits") to get and set the link speed via ethtool. This allows to
avoid manually accessing ethtool_cmd's speed_hi field.

Signed-off-by: David Decotigny <decot@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agodecnet: Don't leak entries when rebuilding zone.
David S. Miller [Mon, 18 Apr 2011 03:47:07 +0000 (20:47 -0700)]
decnet: Don't leak entries when rebuilding zone.

As noticed by Ben Hutchings, when we move entries from
one table to another we leak all except the first entry.

Put back the "next" variable removed by commit
9bf9055eb716f85372c41b3fbc51f90bc7653740 ("decnet: Fix set-but-unused
variable.") and use it properly.

Reported-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agovia-rhine: Assign random MAC address if necessary
Joe Perches [Sat, 16 Apr 2011 14:15:26 +0000 (14:15 +0000)]
via-rhine: Assign random MAC address if necessary

Roger Luethi has had several reports of Rhine NICs providing
an invalid MAC address.  If so, assign a random MAC address so
the hardware can still be used.

Tested as a standalone interface, as carrier for ppp, and as a
bonding slave.

Original-patch-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agovia_rhine: Use netdev_<level> and pr_<level>
Joe Perches [Sat, 16 Apr 2011 14:15:25 +0000 (14:15 +0000)]
via_rhine: Use netdev_<level> and pr_<level>

Use the more current logging styles.

Add #define DEBUG to make netdev_dbg always active.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobridge: fix accidental creation of sysfs directory
Stephen Hemminger [Mon, 18 Apr 2011 00:52:51 +0000 (17:52 -0700)]
bridge: fix accidental creation of sysfs directory

Commit bb900b27a2f49b37bc38c08e656ea13048fee13b ("bridge: allow
creating bridge devices with netlink") introduced a bug in net-next
because of a typo in notifier. Every device would have the sysfs
bridge directory (and files).

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: cxgb4{,vf}: convert to hw_features
Michał Mirosław [Sat, 16 Apr 2011 13:05:08 +0000 (13:05 +0000)]
net: cxgb4{,vf}: convert to hw_features

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Acked-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agodrivers/net/usb/usbnet.c: Use FIELD_SIZEOF macro in usbnet_init() function.
Thiago Farina [Mon, 18 Apr 2011 00:49:21 +0000 (17:49 -0700)]
drivers/net/usb/usbnet.c: Use FIELD_SIZEOF macro in usbnet_init() function.

Signed-off-by: Thiago Farina <tfransosi@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: ibm_newemac: convert to hw_features
Michał Mirosław [Sun, 17 Apr 2011 00:15:47 +0000 (00:15 +0000)]
net: ibm_newemac: convert to hw_features

Side effect: allow toggling of TX offloads.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: greth: convert to hw_features
Michał Mirosław [Sun, 17 Apr 2011 00:15:47 +0000 (00:15 +0000)]
net: greth: convert to hw_features

Note: Driver modifies its struct net_device_ops. This will break if used for
multiple devices that are not all the same (if that HW config is possible).

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: niu: convert to hw_features
Michał Mirosław [Sun, 17 Apr 2011 00:15:47 +0000 (00:15 +0000)]
net: niu: convert to hw_features

Side effect: allow toggling of TX offloads.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: ehea: convert to hw_features
Michał Mirosław [Sun, 17 Apr 2011 00:15:47 +0000 (00:15 +0000)]
net: ehea: convert to hw_features

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: benet: convert to hw_features - fixup
Michał Mirosław [Sun, 17 Apr 2011 00:15:47 +0000 (00:15 +0000)]
net: benet: convert to hw_features - fixup

Remove be_set_flags() as it's already covered by hw_features.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Acked-by: Ajit Khaparde ajit.khaparde@emulex.com
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: typhoon: convert to hw_features
Michał Mirosław [Sun, 17 Apr 2011 00:15:47 +0000 (00:15 +0000)]
net: typhoon: convert to hw_features

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: mv643xx: convert to hw_features
Michał Mirosław [Sun, 17 Apr 2011 00:15:46 +0000 (00:15 +0000)]
net: mv643xx: convert to hw_features

Side effect: don't reenable RXCSUM on every ifdown/ifup.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: tehuti: convert to hw_features
Michał Mirosław [Sun, 17 Apr 2011 00:15:46 +0000 (00:15 +0000)]
net: tehuti: convert to hw_features

As a side effect, make TX offloads changeable.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: cxgb3: convert to hw_features
Michał Mirosław [Sun, 17 Apr 2011 00:15:46 +0000 (00:15 +0000)]
net: cxgb3: convert to hw_features

This removes some of the remnants of LRO -> GRO conversion.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: macvlan: convert to hw_features
Michał Mirosław [Sun, 17 Apr 2011 00:15:46 +0000 (00:15 +0000)]
net: macvlan: convert to hw_features

Not much of a conversion anyway - macvlan has no way to change the offload
settings independently to its base device.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoMerge branch 'batman-adv/next' of git://git.open-mesh.org/ecsv/linux-merge
David S. Miller [Mon, 18 Apr 2011 00:37:29 +0000 (17:37 -0700)]
Merge branch 'batman-adv/next' of git://git.open-mesh.org/ecsv/linux-merge

13 years agobe2net: Fix unused-but-set variables.
David S. Miller [Mon, 18 Apr 2011 00:08:41 +0000 (17:08 -0700)]
be2net: Fix unused-but-set variables.

The variables 'tx_min' and 'tx_max' are set but not used in
be_set_coalesce().

Similarly for 'region' in be_do_flash().

Just kill them off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoisdn: i4l: isdn_tty: Fix unused-but-set variables.
David S. Miller [Mon, 18 Apr 2011 00:07:57 +0000 (17:07 -0700)]
isdn: i4l: isdn_tty: Fix unused-but-set variables.

The variable 'fcr' is set but not used in isdn_tty_change_speed().

Just kill it off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonetfilter: ip6table_mangle: Fix set-but-unused variables.
David S. Miller [Mon, 18 Apr 2011 00:06:15 +0000 (17:06 -0700)]
netfilter: ip6table_mangle: Fix set-but-unused variables.

The variable 'flowlabel' is set but unused in ip6t_mangle_out().

The intention here was to compare this key to the header value after
mangling, and trigger a route lookup on mismatch.

Make it so.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonetfilter: ip6_tables: Fix set-but-unused variables.
David S. Miller [Mon, 18 Apr 2011 00:04:48 +0000 (17:04 -0700)]
netfilter: ip6_tables: Fix set-but-unused variables.

The variable 'target' is set but unused in compat_copy_entry_from_user().

Just kill it off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonetfilter: nf_conntrack_standalone: Fix set-but-unused variables.
David S. Miller [Mon, 18 Apr 2011 00:03:33 +0000 (17:03 -0700)]
netfilter: nf_conntrack_standalone: Fix set-but-unused variables.

The variable 'ret' is set but unused in ct_seq_show().

This was obviously meant to be used to propagate error codes
to the caller, so make it so.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonetfilter: nfnetlink_log: Fix set-but-unused variables.
David S. Miller [Mon, 18 Apr 2011 00:02:29 +0000 (17:02 -0700)]
netfilter: nfnetlink_log: Fix set-but-unused variables.

The variable 'tmp_uint' is set but unused in __build_packet_message().

Just kill it off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonetlabel: Fix set-but-unused variables.
David S. Miller [Mon, 18 Apr 2011 00:01:49 +0000 (17:01 -0700)]
netlabel: Fix set-but-unused variables.

The variable 'type_str' is set but unused in netlbl_cipsov4_add().

Just kill it off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agol2tp: Fix set-but-unused variables.
David S. Miller [Mon, 18 Apr 2011 00:01:05 +0000 (17:01 -0700)]
l2tp: Fix set-but-unused variables.

The variable 'ret' is set but unused in l2tp_nl_register_ops().

This was obviously meant to maintain error codes which are
returned to the caller, make it so.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoirda: irproc: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:59:50 +0000 (16:59 -0700)]
irda: irproc: Fix set-but-unused variables.

The variable 'd' is set but unused in irda_proc_register().

Just kill it off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoirda: irlap_event: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:59:09 +0000 (16:59 -0700)]
irda: irlap_event: Fix set-but-unused variables.

The variable 'ret' is set but unused in irlap_state_sclose().

Just kill it off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agocaif: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:57:55 +0000 (16:57 -0700)]
caif: Fix set-but-unused variables.

The variable 'caifdef' is set but unused in modemcmd().

Similarly for 'net' in receive(), and 'res' in
caif_device_notify() and caif_exit_net().

Just kill them off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2x: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:56:12 +0000 (16:56 -0700)]
bnx2x: Fix set-but-unused variables.

The variable 'rc' is set but unused in bnx2x_timer().

Similarly for 'hc_index_p' in bnx2x_init_sb(), and 'port' in
bnx2x_get_hwinfo().

Just kill them off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobna: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:51:36 +0000 (16:51 -0700)]
bna: Fix set-but-unused variables.

The variable 'pgoff' is set but unused in bfa_nw_ioc_fwver_get()
and bfa_ioc_download_fw().

Similarly for 'cmd_h' in bna_mbox_flush_q and the entirety of
bna_rit_mod_uninit() is unused since variables are purely set but no
action is made using them.

Same for 'bna' in bna_rit_create() and 'ret' in bna_rx_create().

Just kill them off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoisdn: mISDN: socket: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:48:53 +0000 (16:48 -0700)]
isdn: mISDN: socket: Fix set-but-unused variables.

The variable 'len' is set but unused in data_sock_getsockopt().

The code should use 'len' to validate that the user's socket option is
indeed the right size.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoisdn: i4l: isdn_net: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:46:50 +0000 (16:46 -0700)]
isdn: i4l: isdn_net: Fix set-but-unused variables.

The variable 'unused' is set but unused in
isdn_net_ciscohdlck_slarp_in().  Just kill it off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoisdn: i4l: isdn_common: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:45:51 +0000 (16:45 -0700)]
isdn: i4l: isdn_common: Fix set-but-unused variables.

The variable 'ch' is set but unused in isdn_capi_rec_hl_msg().  Just
kill it off.

Similarly for 'chidx' in isdn_ioctl() and 'di' in
isdn_capi_rec_hl_msg().

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoisdn: teles_cs: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:44:12 +0000 (16:44 -0700)]
isdn: teles_cs: Fix set-but-unused variables.

The variable 'dev' is set but unused in teles_cs_config().  Just
kill it off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoisdn: l3ni1: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:43:20 +0000 (16:43 -0700)]
isdn: l3ni1: Fix set-but-unused variables.

The variable 'cause' is set but unused in ni1up().  Just
kill it off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoisdn: l3dss1: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:42:15 +0000 (16:42 -0700)]
isdn: l3dss1: Fix set-but-unused variables.

The variable 'cause' is set but unused in dss1up().  Just
kill it off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoisdn: jade: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:41:29 +0000 (16:41 -0700)]
isdn: jade: Fix set-but-unused variables.

The variable 'i' is set but unused in JadeVersion().  Just
kill it off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoisdn: ipacx: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:40:30 +0000 (16:40 -0700)]
isdn: ipacx: Fix set-but-unused variables.

The variable 'cda2_cr' is set but unused in ctrl_complete().  Just
kill it off.

Keep the cs->readisac() call just in case the register read has side
effects.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoisdn: hfc_usb: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:39:18 +0000 (16:39 -0700)]
isdn: hfc_usb: Fix set-but-unused variables.

The variable 'buf' is set but unused in
ctrl_complete().  Just kill it off.

Similarly for 'err' in hfc_usb_init().

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoisdn: elsa_ser: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:38:33 +0000 (16:38 -0700)]
isdn: elsa_ser: Fix set-but-unused variables.

The variable 'bits' is set but unused in
change_speed().  Just kill it off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoisdn: elsa_cs: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:37:11 +0000 (16:37 -0700)]
isdn: elsa_cs: Fix set-but-unused variables.

The variable 'dev' is set but unused in
elsa_cs_config().  Just kill it off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoisdn: arcofi: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:36:28 +0000 (16:36 -0700)]
isdn: arcofi: Fix set-but-unused variables.

The variable 'val' is set but unused in
send_arcofi().  Just kill it off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoisdn: hfcsusb: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:35:27 +0000 (16:35 -0700)]
isdn: hfcsusb: Fix set-but-unused variables.

The variable 'buf' is set but unused in
ctrl_complete().  Just kill it off.

Similarly for the variable 'err' in setup_hfcsusb().

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoisdn: hfcpci: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:34:50 +0000 (16:34 -0700)]
isdn: hfcpci: Fix set-but-unused variables.

The variable 'total' is set but unused in
hfcpci_empty_bfifo().  Just kill it off.

Similarly for the variable 'val' in ph_state_nt().

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoisdn: eicon: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:23:22 +0000 (16:23 -0700)]
isdn: eicon: Fix set-but-unused variables.

The variable 'best_id' is set but unused in
diva_mnt_add_xdi_adapter().  Just kill it off.

Similarly for the variable 'CIP' in connect_req(), 'Number' in
sig_ind(), 'Info' in dtmf_confirmation() mixer_command()
fax_connect_ack_command() fax_edata_ack_command()
rtp_connect_b3_res_command() and rtp_connect_b3_res_command(), and 'a'
in mixer_indication_coefs_set(),

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoisdn: gigaset: Fix set-but-unused variable.
David S. Miller [Sun, 17 Apr 2011 23:22:33 +0000 (16:22 -0700)]
isdn: gigaset: Fix set-but-unused variable.

The variable 'offset' is set but unused in
write_iso_tasklet().  Just kill it off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobatman-adv: Set the txqueuelen to zero when creating soft interface
Andrew Lunn [Sun, 17 Apr 2011 18:39:07 +0000 (20:39 +0200)]
batman-adv: Set the txqueuelen to zero when creating soft interface

Like other virtual interfaces, e.g. br0, we don't need a transmit
queue. Packets should only be queued on real interfaces which are
underneath. In practice this patch makes little difference since the
virtual interfaces can accept packets as fast as they come, but the
patch will avoid bufferbloat questions to the mailling lists in the
future.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Linus Lüssing <linus.luessing@web.de>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
13 years agobatman-adv: protect softif_neigh by rcu
Simon Wunderlich [Sun, 17 Apr 2011 18:34:27 +0000 (20:34 +0200)]
batman-adv: protect softif_neigh by rcu

Add get/set wrapper functions for softif_neigh and
use rcu functions to manipulate the pointers.

Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
13 years agobatman-adv: concentrate all curr_gw related rcu operations in select/deselect functions
Marek Lindner [Wed, 23 Mar 2011 10:24:34 +0000 (11:24 +0100)]
batman-adv: concentrate all curr_gw related rcu operations in select/deselect functions

Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
13 years agobatman-adv: Protect global TQ window with a spinlock
Linus Lüssing [Mon, 14 Mar 2011 22:43:40 +0000 (22:43 +0000)]
batman-adv: Protect global TQ window with a spinlock

Signed-off-by: Linus Lüssing <linus.luessing@web.de>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
13 years agobatman-adv: Make orig_node->router an rcu protected pointer
Linus Lüssing [Mon, 14 Mar 2011 22:43:37 +0000 (22:43 +0000)]
batman-adv: Make orig_node->router an rcu protected pointer

The rcu protected macros rcu_dereference() and rcu_assign_pointer()
for the orig_node->router need to be used, as well as spin/rcu locking.
Otherwise we might end up using a router pointer pointing to already
freed memory.

Therefore this commit introduces the safe getter method
orig_node_get_router().

Signed-off-by: Linus Lüssing <linus.luessing@web.de>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
13 years agobatman-adv: Simplify gw_check_election(), use gw_get_selected()
Linus Lüssing [Mon, 14 Mar 2011 22:43:33 +0000 (22:43 +0000)]
batman-adv: Simplify gw_check_election(), use gw_get_selected()

gw_get_selected() can get us the desired orig_node directly, therefore
reusing that function in gw_check_election().

Signed-off-by: Linus Lüssing <linus.luessing@web.de>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
13 years agobatman-adv: Make gateway_get_selected type safe
Linus Lüssing [Mon, 14 Mar 2011 22:43:30 +0000 (22:43 +0000)]
batman-adv: Make gateway_get_selected type safe

Make the return value explicit instead of (void *).

Signed-off-by: Linus Lüssing <linus.luessing@web.de>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
13 years agobatman-adv: Move bonding / iface alternating router search to own functions
Linus Lüssing [Mon, 14 Mar 2011 22:43:27 +0000 (22:43 +0000)]
batman-adv: Move bonding / iface alternating router search to own functions

This decreases the size of find_router() by outsourcing the router
search for the bonding and interface alternating modes to their own sub
functions. This shall make it easier to keep track of the correct
refcounting later.

Signed-off-by: Linus Lüssing <linus.luessing@web.de>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
13 years agoatl1c: Fix set-but-unused variable.
David S. Miller [Sun, 17 Apr 2011 07:55:20 +0000 (00:55 -0700)]
atl1c: Fix set-but-unused variable.

The variable 'extra_size' is set but unused in
atl1c_configure_tx().  Just kill it off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoatl1e: Fix set-but-unused variable.
David S. Miller [Sun, 17 Apr 2011 07:54:51 +0000 (00:54 -0700)]
atl1e: Fix set-but-unused variable.

The variable 'tx_ring' is set but unused in
atl1e_init_ring_resources().  Just kill it off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoatlx: Fix set-but-unused variable.
David S. Miller [Sun, 17 Apr 2011 07:51:40 +0000 (00:51 -0700)]
atlx: Fix set-but-unused variable.

The variable 'tpc' is set but unused in atl1_intr_tx().
Just kill it off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobonding: Fix set-but-unused variable.
David S. Miller [Sun, 17 Apr 2011 07:50:58 +0000 (00:50 -0700)]
bonding: Fix set-but-unused variable.

The variable 'vlan_dev' is set but unused in
bond_send_gratuitous_arp().  Just kill it off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoatm: lec: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 07:48:01 +0000 (00:48 -0700)]
atm: lec: Fix set-but-unused variables.

The variable 'eth' is set but unused in lec_handle_bridge().  Also,
the variable 'priv' is set but unused in lane_module_cleanup().

Just kill them off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoax25: Fix set-but-unused variable.
David S. Miller [Sun, 17 Apr 2011 07:46:45 +0000 (00:46 -0700)]
ax25: Fix set-but-unused variable.

The variable 's' is set but unused in ax25_protocol_release().
Just kill it off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoeconet: Fix set-but-unused variable.
David S. Miller [Sun, 17 Apr 2011 07:15:22 +0000 (00:15 -0700)]
econet: Fix set-but-unused variable.

#if 0'd out code for IP handling in aun_data_available() has
been commented out since the beginning, which makes the variable
"ip" set but not used.

Kill it off as well as the stub code.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agodecnet: Fix set-but-unused variable.
David S. Miller [Sun, 17 Apr 2011 07:14:09 +0000 (00:14 -0700)]
decnet: Fix set-but-unused variable.

"next" in dn_rebuild_zone() is set but not actually used,
kill it off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agopktgen: Fix set-but-unused variable.
David S. Miller [Sun, 17 Apr 2011 07:13:16 +0000 (00:13 -0700)]
pktgen: Fix set-but-unused variable.

"iph" in pktgen_output_ipsec() is set but never actually
used.  Kill it off.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoatm: solos-pci: Fix set-but-unused variable.
David S. Miller [Sun, 17 Apr 2011 07:11:25 +0000 (00:11 -0700)]
atm: solos-pci: Fix set-but-unused variable.

This is just a readback to entire completion of a register
write, keep the readback but kill the unused variable.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoatm: idt77252: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 07:10:17 +0000 (00:10 -0700)]
atm: idt77252: Fix set-but-unused variables.

Two cases here:

1) idt77252_rx_raw() really does not make any use of the
   extracted PTI field of the atm header.

2) idt77252_collect_stat() only uses the register values
   in code which has been compiled out by a "NOTDEF" cpp
   test for more than 10 years.  Just kill this NOTDEF
   code entirely, but keep the register reads in case
   they have side effects.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoatm: he: Fix undefined sequence points.
David S. Miller [Sun, 17 Apr 2011 07:07:55 +0000 (00:07 -0700)]
atm: he: Fix undefined sequence points.

GCC complains in these queue index operations because we
perform operations of the form:

x = some_operation(++x);

which is undefined.  Replace with:

x = some_operation(x + 1);

which is well defined and provides the intended operation.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoatm: eni: Kill set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 07:03:38 +0000 (00:03 -0700)]
atm: eni: Kill set-but-unused variables.

The variable eni_dev is initialized but never subsequently used in
these two functions.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: gianfar: convert to hw_features
Michał Mirosław [Fri, 15 Apr 2011 04:50:50 +0000 (04:50 +0000)]
net: gianfar: convert to hw_features

Note: I bet that gfar_set_features() don't really need a full reset.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: mlx4: convert to hw_features
Michał Mirosław [Fri, 15 Apr 2011 04:50:49 +0000 (04:50 +0000)]
net: mlx4: convert to hw_features

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: forcedeth: convert to hw_features
Michał Mirosław [Fri, 15 Apr 2011 04:50:49 +0000 (04:50 +0000)]
net: forcedeth: convert to hw_features

This also fixes a race around np->txrxctl_bits while changing RXCSUM offload.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: dm9000: convert to hw_features
Michał Mirosław [Fri, 15 Apr 2011 04:50:49 +0000 (04:50 +0000)]
net: dm9000: convert to hw_features

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: spider_net: convert to hw_features
Michał Mirosław [Fri, 15 Apr 2011 04:50:49 +0000 (04:50 +0000)]
net: spider_net: convert to hw_features

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: minor cleanup to net_namespace.c.
Rob Landley [Fri, 15 Apr 2011 02:26:25 +0000 (02:26 +0000)]
net: minor cleanup to net_namespace.c.

Inline a small static function that's only ever called from one place.

Signed-off-by: Rob Landley <rlandley@parallels.com>
Reviewed-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoipv6: RTA_PREFSRC support for ipv6 route source address selection
Daniel Walter [Wed, 13 Apr 2011 21:10:57 +0000 (21:10 +0000)]
ipv6: RTA_PREFSRC support for ipv6 route source address selection

[ipv6] Add support for RTA_PREFSRC

This patch allows a user to select the preferred source address
for a specific IPv6-Route. It can be set via a netlink message
setting RTA_PREFSRC to a valid IPv6 address which must be
up on the device the route will be bound to.

Signed-off-by: Daniel Walter <dwalter@barracuda.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoipv6: ignore looped-back NA while dad is running
Daniel Walter [Wed, 13 Apr 2011 21:09:25 +0000 (21:09 +0000)]
ipv6: ignore looped-back NA while dad is running

[ipv6] Ignore looped-back NAs while in Duplicate Address Detection

If we send an unsolicited NA shortly after bringing up an
IPv6 address, the duplicate address detection algorithm
fails and the ip stays in tentative mode forever.
This is due a missing check if the NA is looped-back to us.

Signed-off-by: Daniel Walter <dwalter@barracuda.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agorndis_host: Quirky devices are still 'point-to-point'
Ben Hutchings [Fri, 15 Apr 2011 06:23:45 +0000 (23:23 -0700)]
rndis_host: Quirky devices are still 'point-to-point'

My changes in commit 4d42d417be75d750b82798922b6e775915e11bce were
written some time before the introduction of FLAG_POINTTOPOINT, so
didn't include that flag in the new driver_info.  Change the new
driver_info to be consistent.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet-bonding: Adding support for throughputs larger than 65536 Mbps
David Decotigny [Wed, 13 Apr 2011 15:22:31 +0000 (15:22 +0000)]
net-bonding: Adding support for throughputs larger than 65536 Mbps

This updates the bonding driver to support v2.6.27-rc3 enhancements
(b11f8d8c aka. "ethtool: Expand ethtool_cmd.speed to 32 bits") which
allow to encode the Mbps link speed on 32-bits (Max 4 Pbps) instead of
16 (Max 65536 Mbps).

This patch also attempts to compact struct slave by reordering its
fields.

Signed-off-by: David Decotigny <decot@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet-bonding: Fix minor/cosmetic type inconsistencies
David Decotigny [Wed, 13 Apr 2011 15:22:30 +0000 (15:22 +0000)]
net-bonding: Fix minor/cosmetic type inconsistencies

The __get_link_speed() function returns a u16 value which was stored
in a u32 local variable. This patch uses the return value directly,
thus fixing that minor type consistency.

The 'duplex' field in struct slave being encoded on 8 bits, to be more
consistent we use a u8 integer (instead of u16) whenever we copy it to
local variables.

Signed-off-by: David Decotigny <decot@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet-bonding: Fix minor sparse complaints
David Decotigny [Wed, 13 Apr 2011 15:22:29 +0000 (15:22 +0000)]
net-bonding: Fix minor sparse complaints

This gets rid of minor sparse complaints:
drivers/net/bonding/bond_main.c:4361:4: warning: do-while statement is not a compound statement
drivers/net/bonding/bond_main.c:243:12: warning: symbol 'bond_mode_name' was not declared. Should it be static?

Signed-off-by: David Decotigny <decot@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoqlge: make nic_operations struct const
stephen hemminger [Thu, 14 Apr 2011 05:51:52 +0000 (05:51 +0000)]
qlge: make nic_operations struct const

The struct nic_operations is just function pointers and should be
declared const for added security.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agosfc: make function tables const
stephen hemminger [Thu, 14 Apr 2011 05:50:12 +0000 (05:50 +0000)]
sfc: make function tables const

The phy, mac, and board information structures should be const.
Since tables contain function pointer this improves security
(at least theoretically).

Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoPhonet: convert bound sockets hash list to RCU
Rémi Denis-Courmont [Tue, 12 Apr 2011 23:27:36 +0000 (23:27 +0000)]
Phonet: convert bound sockets hash list to RCU

This gets rid of the last spinlock in the Phonet stack proper.

Signed-off-by: Rémi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoethtool: allow custom interval for physical identification
Allan, Bruce W [Wed, 13 Apr 2011 13:09:10 +0000 (13:09 +0000)]
ethtool: allow custom interval for physical identification

When physical identification of an adapter is done by toggling the
mechanism on and off through software utilizing the set_phys_id operation,
it is done with a fixed duration for both on and off states.  Some drivers
may want to set a custom duration for the on/off intervals.  This patch
changes the API so the return code from the driver's entry point when it
is called with ETHTOOL_ID_ACTIVE can specify the frequency at which to
cycle the on/off states, and updates the drivers that have already been
converted to use the new set_phys_id and use the synchronous method for
identifying an adapter.

The physical identification frequency set in the updated drivers is based
on how it was done prior to the introduction of set_phys_id.

Compile tested only.  Also fixes a compiler warning in sfc.

v2: drivers do not return -EINVAL for ETHOOL_ID_ACTIVE
v3: fold patchset into single patch and cleanup per Ben's feedback

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Cc: Ben Hutchings <bhutchings@solarflare.com>
Cc: Sathya Perla <sathya.perla@emulex.com>
Cc: Subbu Seetharaman <subbu.seetharaman@emulex.com>
Cc: Ajit Khaparde <ajit.khaparde@emulex.com>
Cc: Michael Chan <mchan@broadcom.com>
Cc: Eilon Greenstein <eilong@broadcom.com>
Cc: Divy Le Ray <divy@chelsio.com>
Cc: Don Fry <pcnet32@frontier.com>
Cc: Jon Mason <jdmason@kudzu.us>
Cc: Solarflare linux maintainers <linux-net-drivers@solarflare.com>
Cc: Steve Hodgson <shodgson@solarflare.com>
Cc: Stephen Hemminger <shemminger@linux-foundation.org>
Cc: Matt Carlson <mcarlson@broadcom.com>
Acked-by: Jon Mason <jdmason@kudzu.us>
Acked-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoipv4: Call fib_select_default() only when actually necessary.
David S. Miller [Thu, 14 Apr 2011 21:49:37 +0000 (14:49 -0700)]
ipv4: Call fib_select_default() only when actually necessary.

fib_select_default() is a complete NOP, and completely pointless
to invoke, when we have no more than 1 default route installed.

And this is far and away the common case.

So remember how many prefixlen==0 routes we have in the routing
table, and elide the call when we have no more than one of those.

This cuts output route creation time by 157 cycles on Niagara2+.

In order to add the new int to fib_table, we have to correct the type
of ->tb_data[] to unsigned long, otherwise the private area will be
unaligned on 64-bit systems.

Signed-off-by: David S. Miller <davem@davemloft.net>
Reviewed-by: Eric Dumazet <eric.dumazet@gmail.com>
13 years agoNET: AX.25, NETROM, ROSE: Remove SOCK_DEBUG calls
Ralf Baechle [Thu, 14 Apr 2011 07:20:07 +0000 (00:20 -0700)]
NET: AX.25, NETROM, ROSE: Remove SOCK_DEBUG calls

Nobody alive seems to recall when they last were useful.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoixgbe: DCB, X540 devices do not respond to pause frames
John Fastabend [Mon, 4 Apr 2011 04:29:46 +0000 (04:29 +0000)]
ixgbe: DCB, X540 devices do not respond to pause frames

DCB enabled X540 devices are not responding to pause frames
due to a missing register set that was added for these
devices that did not exist in other devices.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbe: DCB, misallocated packet buffer size with X540 device
John Fastabend [Mon, 4 Apr 2011 04:29:41 +0000 (04:29 +0000)]
ixgbe: DCB, misallocated packet buffer size with X540 device

The X540 device has a smaller packet buffer but the DCB configuration
never took this into account. Under stress this can result in the DMA
engine hanging and TX Unit hang occurring to reset the device. This
patch reworks the packet buffer allocation routine used for DCB on
82599 and X540 devices to account for RX packet buffer sizes.

This fixes the immediate hang. We should consolidate the various
hardware specific routines for configuring features into a single
routine. This will make it much harder to miss feature cases like
this.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Tested-by: Evan Swanson <evan.swanson@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbe: make device_caps() generic
Emil Tantilov [Thu, 31 Mar 2011 09:36:18 +0000 (09:36 +0000)]
ixgbe: make device_caps() generic

x540 has the same device capability word in the EEPROM as 82599.
This patch renames ixgbe_get_device_caps_82599 to
ixgbe_get_device_caps_generic, moves it to ixgbe_common.h and
sets up the function pointer for x540.

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Evan Swanson <evan.swanson@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbe: explicitly disable 100H for x540
Emil Tantilov [Thu, 31 Mar 2011 09:36:12 +0000 (09:36 +0000)]
ixgbe: explicitly disable 100H for x540

100H is not supported on this HW, but the bit is set on the PHY.
This can result in link at 100F when advertising only 1000F.

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Evan Swanson <evan.swanson@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbe: add support for new HW
Emil Tantilov [Thu, 24 Mar 2011 07:06:02 +0000 (07:06 +0000)]
ixgbe: add support for new HW

Add new device ID supported by ixgbe.

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Stephen Ko <stephen.s.ko@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbe: fix semaphores in eeprom routines for x540
Emil Tantilov [Thu, 24 Mar 2011 00:57:50 +0000 (00:57 +0000)]
ixgbe: fix semaphores in eeprom routines for x540

HW can upload EEPROM content from flash while
in a middle of checksum calculation. Take NVM ownership for the whole
process of checksum update.

Call ixgbe_read_eerd_generic() and ixgbe_write_eewr_generic() directly to
avoid double take of semaphores which leads to long loading times.

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Stephen Ko <stephen.s.ko@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbe: cleanup short msleep's (<20ms) to use usleep_range
Don Skidmore [Fri, 18 Mar 2011 09:32:53 +0000 (09:32 +0000)]
ixgbe: cleanup short msleep's (<20ms) to use usleep_range

Since msleep might not sleep for the desired amount when less
than 20ms use usleep_range.

Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Tested-by: Stephen Ko <stephen.s.ko@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbe: fix 82599 KR downshift coexistence with LESM FW module
Emil Tantilov [Fri, 18 Mar 2011 08:18:32 +0000 (08:18 +0000)]
ixgbe: fix 82599 KR downshift coexistence with LESM FW module

Disable KR to KX4/KX downshift on 82599 backplane devices when
LESM (Link Establishment State Machine) is enabled in FW. Those
features cannot co-exist as they both manipulate the same registers.

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Acked-by: Don Skidmore <donald.c.skidmore@intel.com>
Tested-by: Phillip Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>