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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Emil Tantilov [Sat, 19 Mar 2011 01:32:46 +0000 (01:32 +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>
Emil Tantilov [Fri, 18 Mar 2011 08:18:22 +0000 (08:18 +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>
Jeff Kirsher [Thu, 17 Mar 2011 18:11:38 +0000 (18:11 +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>
Emil Tantilov [Wed, 16 Mar 2011 01:58:20 +0000 (01:58 +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>
Emil Tantilov [Wed, 16 Mar 2011 01:55:55 +0000 (01: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>
Emil Tantilov [Sat, 12 Mar 2011 08:56:38 +0000 (08:56 +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>
John Fastabend [Sat, 12 Mar 2011 03:50:53 +0000 (03:50 +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>
Bruce Allan [Thu, 24 Mar 2011 03:09:03 +0000 (03:09 +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>
Flavio Leitner [Tue, 5 Apr 2011 04:27:43 +0000 (04:27 +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>
Jeff Kirsher [Fri, 25 Mar 2011 16:01:01 +0000 (16: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>
Bruce Allan [Sat, 19 Mar 2011 00:31:23 +0000 (00:31 +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>
Bruce Allan [Sat, 19 Mar 2011 00:27:20 +0000 (00:27 +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>
Stefan Assmann [Tue, 5 Apr 2011 04:27:15 +0000 (04:27 +0000)]
igb: introduce igb_thermal_sensor_event for sensor checking
The code for thermal sensor checking should be wrapped into a function.
Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Stefan Assmann [Tue, 5 Apr 2011 04:27:05 +0000 (04:27 +0000)]
igb: fix typo in igb_validate_nvm_checksum_82580
Comment spelling fix.
Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Greg Rose [Sat, 12 Mar 2011 11:56:02 +0000 (11:56 +0000)]
igb: Add anti-spoofing feature documentation
Add the documentation for the anti-spoofing feature in the HW.
Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Mathieu J. Poirier [Thu, 14 Apr 2011 00:13:00 +0000 (17:13 -0700)]
net: allow shifted access in smsc911x V2
This is a revised patch that permits a shifted access to the
LAN9221 registers. More specifically:
It adds a shift parameter in the platform_data.
It introduces an ops in smsc911x_data.
A choice of access function to use at run-time.
Four new shifted access function.
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Matt Carlson [Wed, 13 Apr 2011 11:05:08 +0000 (11:05 +0000)]
tg3: Add support for extended VPD blocks
In some devices, the VPD block is relocated to a different area in
NVRAM. The original location can still contain old, but still valid VPD
data. This patch changes the code to look for an extended VPD block in
NVRAM. If one is found, that block is used for all VPD operations
instead.
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Reviewed-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Matt Carlson [Wed, 13 Apr 2011 11:05:07 +0000 (11:05 +0000)]
tg3: Add jumbo frame loopback tests to selftest
This patch adds jumbo frame loopback test support to the ethtool
selftest.
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Reviewed-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Matt Carlson [Wed, 13 Apr 2011 11:05:06 +0000 (11:05 +0000)]
tg3: Automatically size stat/test string arrays
This patch reimplements the size preprocessor constants of the stats and
ethtool test string arrays. The size is calculated at compile time
rather than using static constants.
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Matt Carlson [Wed, 13 Apr 2011 11:05:05 +0000 (11:05 +0000)]
tg3: Dump registers when status block shows errors
This patch monitors the error bit of the status word within the status
block. If it is set, the driver will dump the driver state after
validating the error and then reset the chip.
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Reviewed-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Matt Carlson [Wed, 13 Apr 2011 11:05:04 +0000 (11:05 +0000)]
tg3: Provide full regdump on tx timeout
The current amount of information provided in the output of a tx timeout
is insufficient to determine a root cause. This patch replaces the
terse, four-register status output with a more complete body of
information. For PCIe devices, the full register space is dumped. For
other devices, select registers are dumped instead.
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Reviewed-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>