8 years agodrivers/net/usb/usbnet.c: Use FIELD_SIZEOF macro in usbnet_init() function.
Thiago Farina [Mon, 18 Apr 2011 00:49:21 +0000]
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>

8 years agonet: ibm_newemac: convert to hw_features
Michał Mirosław [Sun, 17 Apr 2011 00:15:47 +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>

8 years agonet: greth: convert to hw_features
Michał Mirosław [Sun, 17 Apr 2011 00:15:47 +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>

8 years agonet: niu: convert to hw_features
Michał Mirosław [Sun, 17 Apr 2011 00:15:47 +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>

8 years agonet: ehea: convert to hw_features
Michał Mirosław [Sun, 17 Apr 2011 00:15:47 +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>

8 years agonet: benet: convert to hw_features - fixup
Michał Mirosław [Sun, 17 Apr 2011 00:15:47 +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>

8 years agonet: typhoon: convert to hw_features
Michał Mirosław [Sun, 17 Apr 2011 00:15:47 +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>

8 years agonet: mv643xx: convert to hw_features
Michał Mirosław [Sun, 17 Apr 2011 00:15:46 +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>

8 years agonet: tehuti: convert to hw_features
Michał Mirosław [Sun, 17 Apr 2011 00:15:46 +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>

8 years agonet: cxgb3: convert to hw_features
Michał Mirosław [Sun, 17 Apr 2011 00:15:46 +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>

8 years agonet: macvlan: convert to hw_features
Michał Mirosław [Sun, 17 Apr 2011 00:15:46 +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>

8 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]
Merge branch 'batman-adv/next' of git://git.open-mesh.org/ecsv/linux-merge

8 years agobe2net: Fix unused-but-set variables.
David S. Miller [Mon, 18 Apr 2011 00:08:41 +0000]
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>

8 years agoisdn: i4l: isdn_tty: Fix unused-but-set variables.
David S. Miller [Mon, 18 Apr 2011 00:07:57 +0000]
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>

8 years agonetfilter: ip6table_mangle: Fix set-but-unused variables.
David S. Miller [Mon, 18 Apr 2011 00:06:15 +0000]
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>

8 years agonetfilter: ip6_tables: Fix set-but-unused variables.
David S. Miller [Mon, 18 Apr 2011 00:04:48 +0000]
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>

8 years agonetfilter: nf_conntrack_standalone: Fix set-but-unused variables.
David S. Miller [Mon, 18 Apr 2011 00:03:33 +0000]
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>

8 years agonetfilter: nfnetlink_log: Fix set-but-unused variables.
David S. Miller [Mon, 18 Apr 2011 00:02:29 +0000]
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>

8 years agonetlabel: Fix set-but-unused variables.
David S. Miller [Mon, 18 Apr 2011 00:01:49 +0000]
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>

8 years agol2tp: Fix set-but-unused variables.
David S. Miller [Mon, 18 Apr 2011 00:01:05 +0000]
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>

8 years agoirda: irproc: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:59:50 +0000]
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>

8 years agoirda: irlap_event: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:59:09 +0000]
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>

8 years agocaif: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:57:55 +0000]
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>

8 years agobnx2x: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:56:12 +0000]
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>

8 years agobna: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:51:36 +0000]
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>

8 years agoisdn: mISDN: socket: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:48:53 +0000]
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>

8 years agoisdn: i4l: isdn_net: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:46:50 +0000]
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>

8 years agoisdn: i4l: isdn_common: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:45:51 +0000]
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>

8 years agoisdn: teles_cs: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:44:12 +0000]
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>

8 years agoisdn: l3ni1: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:43:20 +0000]
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>

8 years agoisdn: l3dss1: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:42:15 +0000]
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>

8 years agoisdn: jade: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:41:29 +0000]
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>

8 years agoisdn: ipacx: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:40:30 +0000]
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>

8 years agoisdn: hfc_usb: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:39:18 +0000]
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>

8 years agoisdn: elsa_ser: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:38:33 +0000]
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>

8 years agoisdn: elsa_cs: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:37:11 +0000]
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>

8 years agoisdn: arcofi: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:36:28 +0000]
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>

8 years agoisdn: hfcsusb: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:35:27 +0000]
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>

8 years agoisdn: hfcpci: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:34:50 +0000]
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>

8 years agoisdn: eicon: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 23:23:22 +0000]
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>

8 years agoisdn: gigaset: Fix set-but-unused variable.
David S. Miller [Sun, 17 Apr 2011 23:22:33 +0000]
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>

8 years agobatman-adv: Set the txqueuelen to zero when creating soft interface
Andrew Lunn [Sun, 17 Apr 2011 18:39:07 +0000]
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>

8 years agobatman-adv: protect softif_neigh by rcu
Simon Wunderlich [Sun, 17 Apr 2011 18:34:27 +0000]
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>

8 years agobatman-adv: concentrate all curr_gw related rcu operations in select/deselect functions
Marek Lindner [Wed, 23 Mar 2011 10:24:34 +0000]
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>

8 years agobatman-adv: Protect global TQ window with a spinlock
Linus Lüssing [Mon, 14 Mar 2011 22:43:40 +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>

8 years agobatman-adv: Make orig_node->router an rcu protected pointer
Linus Lüssing [Mon, 14 Mar 2011 22:43:37 +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>

8 years agobatman-adv: Simplify gw_check_election(), use gw_get_selected()
Linus Lüssing [Mon, 14 Mar 2011 22:43:33 +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>

8 years agobatman-adv: Make gateway_get_selected type safe
Linus Lüssing [Mon, 14 Mar 2011 22:43:30 +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>

8 years agobatman-adv: Move bonding / iface alternating router search to own functions
Linus Lüssing [Mon, 14 Mar 2011 22:43:27 +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>

8 years agoatl1c: Fix set-but-unused variable.
David S. Miller [Sun, 17 Apr 2011 07:55:20 +0000]
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>

8 years agoatl1e: Fix set-but-unused variable.
David S. Miller [Sun, 17 Apr 2011 07:54:51 +0000]
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>

8 years agoatlx: Fix set-but-unused variable.
David S. Miller [Sun, 17 Apr 2011 07:51:40 +0000]
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>

8 years agobonding: Fix set-but-unused variable.
David S. Miller [Sun, 17 Apr 2011 07:50:58 +0000]
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>

8 years agoatm: lec: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 07:48:01 +0000]
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>

8 years agoax25: Fix set-but-unused variable.
David S. Miller [Sun, 17 Apr 2011 07:46:45 +0000]
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>

8 years agoeconet: Fix set-but-unused variable.
David S. Miller [Sun, 17 Apr 2011 07:15:22 +0000]
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>

8 years agodecnet: Fix set-but-unused variable.
David S. Miller [Sun, 17 Apr 2011 07:14:09 +0000]
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>

8 years agopktgen: Fix set-but-unused variable.
David S. Miller [Sun, 17 Apr 2011 07:13:16 +0000]
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>

8 years agoatm: solos-pci: Fix set-but-unused variable.
David S. Miller [Sun, 17 Apr 2011 07:11:25 +0000]
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>

8 years agoatm: idt77252: Fix set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 07:10:17 +0000]
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>

8 years agoatm: he: Fix undefined sequence points.
David S. Miller [Sun, 17 Apr 2011 07:07:55 +0000]
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>

8 years agoatm: eni: Kill set-but-unused variables.
David S. Miller [Sun, 17 Apr 2011 07:03:38 +0000]
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>

8 years agonet: gianfar: convert to hw_features
Michał Mirosław [Fri, 15 Apr 2011 04:50: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>

8 years agonet: mlx4: convert to hw_features
Michał Mirosław [Fri, 15 Apr 2011 04:50:49 +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>

8 years agonet: forcedeth: convert to hw_features
Michał Mirosław [Fri, 15 Apr 2011 04:50:49 +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>

8 years agonet: dm9000: convert to hw_features
Michał Mirosław [Fri, 15 Apr 2011 04:50:49 +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>

8 years agonet: spider_net: convert to hw_features
Michał Mirosław [Fri, 15 Apr 2011 04:50:49 +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>

8 years agonet: minor cleanup to net_namespace.c.
Rob Landley [Fri, 15 Apr 2011 02:26:25 +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>

8 years agoipv6: RTA_PREFSRC support for ipv6 route source address selection
Daniel Walter [Wed, 13 Apr 2011 21:10:57 +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>

8 years agoipv6: ignore looped-back NA while dad is running
Daniel Walter [Wed, 13 Apr 2011 21:09:25 +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>

8 years agorndis_host: Quirky devices are still 'point-to-point'
Ben Hutchings [Fri, 15 Apr 2011 06:23:45 +0000]
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>

8 years agonet-bonding: Adding support for throughputs larger than 65536 Mbps
David Decotigny [Wed, 13 Apr 2011 15:22:31 +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>

8 years agonet-bonding: Fix minor/cosmetic type inconsistencies
David Decotigny [Wed, 13 Apr 2011 15:22:30 +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>

8 years agonet-bonding: Fix minor sparse complaints
David Decotigny [Wed, 13 Apr 2011 15:22:29 +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>

8 years agoqlge: make nic_operations struct const
stephen hemminger [Thu, 14 Apr 2011 05:51:52 +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>

8 years agosfc: make function tables const
stephen hemminger [Thu, 14 Apr 2011 05:50:12 +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>

8 years agoPhonet: convert bound sockets hash list to RCU
Rémi Denis-Courmont [Tue, 12 Apr 2011 23:27:36 +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>

8 years agoethtool: allow custom interval for physical identification
Allan, Bruce W [Wed, 13 Apr 2011 13:09:10 +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>

8 years agoipv4: Call fib_select_default() only when actually necessary.
David S. Miller [Thu, 14 Apr 2011 21:49:37 +0000]
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>

8 years agoNET: AX.25, NETROM, ROSE: Remove SOCK_DEBUG calls
Ralf Baechle [Thu, 14 Apr 2011 07:20:07 +0000]
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>

8 years agoixgbe: DCB, X540 devices do not respond to pause frames
John Fastabend [Mon, 4 Apr 2011 04:29:46 +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>

8 years agoixgbe: DCB, misallocated packet buffer size with X540 device
John Fastabend [Mon, 4 Apr 2011 04:29:41 +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>

8 years agoixgbe: make device_caps() generic
Emil Tantilov [Thu, 31 Mar 2011 09:36:18 +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>

8 years agoixgbe: explicitly disable 100H for x540
Emil Tantilov [Thu, 31 Mar 2011 09:36:12 +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>

8 years agoixgbe: add support for new HW
Emil Tantilov [Thu, 24 Mar 2011 07:06:02 +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>

8 years agoixgbe: fix semaphores in eeprom routines for x540
Emil Tantilov [Thu, 24 Mar 2011 00:57:50 +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>

8 years agoixgbe: cleanup short msleep's (<20ms) to use usleep_range
Don Skidmore [Fri, 18 Mar 2011 09:32:53 +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>

8 years agoixgbe: fix 82599 KR downshift coexistence with LESM FW module
Emil Tantilov [Fri, 18 Mar 2011 08:18:32 +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>

8 years agoixgbe: move disabling of relaxed ordering in start_hw()
Emil Tantilov [Sat, 19 Mar 2011 01:32:46 +0000]
ixgbe: move disabling of relaxed ordering in start_hw()

Relaxed ordering can lead to issues with some chipsets.

This patch makes sure that it is disabled by default and
not only when DCA is on.

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>

8 years agoixgbe: refactor common start_hw code for 82599 and x540
Emil Tantilov [Fri, 18 Mar 2011 08:18:22 +0000]
ixgbe: refactor common start_hw code for 82599 and x540

Factored out the common start_hw code into a new function
ixgbe_start_hw_gen2() so that it can be used by x540 and 82599.

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Acked-by: Don Skidmore <donald.c.skidmore@intel.com>
Tested-by: Evan Swanson <evan.swanson@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>

8 years agoixgbe: update version string for Dell CEM use
Jeff Kirsher [Thu, 17 Mar 2011 18:11:38 +0000]
ixgbe: update version string for Dell CEM use

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Acked-by: Don Skidmore <donald.c.skidmore@intel.com>
Tested-by: Stephen Ko <stephen.s.ko@intel.com>

8 years agoixgbe: fix namespacecheck issue
Emil Tantilov [Wed, 16 Mar 2011 01:58:20 +0000]
ixgbe: fix namespacecheck issue

Set ixgbe_identify_82599() as static

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>

8 years agoixgbe: correct function number for some 82598 parts
Emil Tantilov [Wed, 16 Mar 2011 01:55:55 +0000]
ixgbe: correct function number for some 82598 parts

Some 82598 parts have LAN0 disabled and LAN1 enabled and the LAN ID bits in
Device Status register report the NIC as having only LAN1 as enabled. This
causes ixgbe_set_lan_id_multi_port_pcie() to set bus->func = 1 which is
incorrect.

Force bus->func to 0 when LAN0 is disabled in the EEPROM.

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>

8 years agoixgbe: fix return value checks
Emil Tantilov [Sat, 12 Mar 2011 08:56:38 +0000]
ixgbe: fix return value checks

The value of status was incorrectly tested. Also whitespace cleanup.

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>

8 years agoixgbe: DCB, further cleanups to app configuration
John Fastabend [Sat, 12 Mar 2011 03:50:53 +0000]
ixgbe: DCB, further cleanups to app configuration

With the app data on the kernel dcb_app list we no longer
need to specifically handle them in ixgbe for the CEE case.
So now we can remove app handling logic and check when the
hw is configured if the app data matches the hardware
configuration in set_hw_all().

If it does not match then we can reconfigure.

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>

8 years agoe1000e: If ASPM L0s needs to be disabled, do it prior to enabling device
Bruce Allan [Thu, 24 Mar 2011 03:09:03 +0000]
e1000e: If ASPM L0s needs to be disabled, do it prior to enabling device

Based on a patch from Naga Chumbalkar <nagananda.chumbalkar@hp.com>:

If ASPM L0s needs to be disabled due to HW errata, do it prior to
"enabling" the device. This way if the kernel ever defaults its
aspm_policy to POLICY_POWERSAVE, then the e1000e driver will get a
chance to disable ASPM on the misbehaving device *prior* to calling
pci_enable_device_mem(). This will be useful in situations
where the BIOS indicates ASPM support on the server by clearing the
ACPI FADT "ASPM Controls" bit.

Note:
The kernel (2.6.38) currently uses the BIOS "default" as its aspm_policy.
However, Linux distros can diverge from that and set the default to
"powersave".

v2: o cleanup namespace pollution of e1000e_disable_aspm(),
    o fix type and initialization of the new aspm_disable_flag in a few
      functions, and
    o redefine FLAG2_DISABLE_ASPM_L0S to the first unused bit in
      adapter->flags2.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Cc: Naga Chumbalkar <nagananda.chumbalkar@hp.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>

8 years agoe1000e: fix stats locking in e1000_watchdog_task
Flavio Leitner [Tue, 5 Apr 2011 04:27:43 +0000]
e1000e: fix stats locking in e1000_watchdog_task

Just move the unlock down a bit because it unlocks too
early leaving a chance for get_stats64() run in parallel
while it is still accessing the stats.

Signed-off-by: Flavio Leitner <fleitner@redhat.com>
Acked-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>

8 years agoe1000e: convert to new VLAN model
Jeff Kirsher [Fri, 25 Mar 2011 16:01:01 +0000]
e1000e: convert to new VLAN model

This switches the e1000e driver to use the new VLAN interfaces.

CC: Jesse Gross <jesse@nicira.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>

8 years agoe1000e: PCIe link speed in GT/s, not GB/s
Bruce Allan [Sat, 19 Mar 2011 00:31:23 +0000]
e1000e: PCIe link speed in GT/s, not GB/s

Correct the log message when driver loads.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>

8 years agoe1000e: convert short duration msleep() to usleep_range()
Bruce Allan [Sat, 19 Mar 2011 00:27:20 +0000]
e1000e: convert short duration msleep() to usleep_range()

With durations less than 20ms, the jiffies or legacy timer backed msleep()
may sleep ~20ms which might not be what the caller expects.  Instead, it
is recommended to use the hrtimers backed usleep_range().  For more, see
Documentation/timers/timers-howto.txt.  Issues reported by checkpatch.

In addition, remove unnecessary sleep in e1000e_write_nvm_spi().

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>