platform/upstream/kernel-adaptation-pc.git
13 years agoqlcnic: reset pci function unconditionally during probe
Rajesh Borundia [Thu, 16 Dec 2010 22:59:02 +0000 (22:59 +0000)]
qlcnic: reset pci function unconditionally during probe

Some boot code drivers dont have cleanup routine, so pci function
remains in unknown state prior to driver load. So during driver load
issue FLR unconditionally.

Update driver version to 5.0.14.

Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoqlcnic: fix ocm window register offset calculation
Rajesh Borundia [Thu, 16 Dec 2010 22:59:01 +0000 (22:59 +0000)]
qlcnic: fix ocm window register offset calculation

OCM window register offset was calculated incorrectly for
pci function greater than zero.

Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoqlcnic: fix LED test when interface is down.
Sucheta Chakraborty [Thu, 16 Dec 2010 22:59:00 +0000 (22:59 +0000)]
qlcnic: fix LED test when interface is down.

When interface is down, create temporary context to config LED.

Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoifb: fix a lockdep splat
Eric Dumazet [Wed, 15 Dec 2010 23:52:55 +0000 (23:52 +0000)]
ifb: fix a lockdep splat

After recent ifb changes, we must use lockless __skb_dequeue() since
lock is not anymore initialized.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Jamal Hadi Salim <hadi@cyberus.ca>
Cc: Changli Gao <xiaosuo@gmail.com>
Acked-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: Fix drivers advertising HW_CSUM feature to use csum_start
Michał Mirosław [Tue, 14 Dec 2010 15:24:08 +0000 (15:24 +0000)]
net: Fix drivers advertising HW_CSUM feature to use csum_start

Some drivers are using skb_transport_offset(skb) instead of skb->csum_start
for NETIF_F_HW_CSUM offload.  This does not matter now, but if someone
implements checksumming of encapsulated packets then this will break silently.

TSO output paths are left as they are, since they are for IP+TCP only
(might be worth converting though).

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: Use skb_checksum_start_offset()
Michał Mirosław [Tue, 14 Dec 2010 15:24:08 +0000 (15:24 +0000)]
net: Use skb_checksum_start_offset()

Replace skb->csum_start - skb_headroom(skb) with skb_checksum_start_offset().

Note for usb/smsc95xx: skb->data - skb->head == skb_headroom(skb).

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: Introduce skb_checksum_start_offset()
Michał Mirosław [Tue, 14 Dec 2010 15:24:08 +0000 (15:24 +0000)]
net: Introduce skb_checksum_start_offset()

Introduce skb_checksum_start_offset() to replace repetitive calculation.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agotcp: relax tcp_paws_check()
Eric Dumazet [Thu, 16 Dec 2010 22:08:34 +0000 (14:08 -0800)]
tcp: relax tcp_paws_check()

Some windows versions have wrong RFC1323 implementations, with SYN and
SYNACKS messages containing zero tcp timestamps.

We relaxed in commit fc1ad92dfc4e363 the passive connection case
(Windows connects to a linux machine), but the reverse case (linux
connects to a Windows machine) has an analogue problem when tsvals from
windows machine are 'negative' (high order bit set) : PAWS triggers and
we drops incoming messages.

Fix this by making zero ts_recent value special, allowing frame to be
processed.

Based on a report and initial patch from Dmitiy Balakin

Bugzilla reference : https://bugzilla.kernel.org/show_bug.cgi?id=24842

Reported-by: dmitriy.balakin@nicneiron.ru
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: factorize sync-rcu call in unregister_netdevice_many
Octavian Purdila [Mon, 13 Dec 2010 12:44:07 +0000 (12:44 +0000)]
net: factorize sync-rcu call in unregister_netdevice_many

Add dev_close_many and dev_deactivate_many to factorize another
sync-rcu operation on the netdevice unregister path.

$ modprobe dummy numdummies=10000
$ ip link set dev dummy* up
$ time rmmod dummy

Without the patch           With the patch

real    0m 24.63s           real    0m 5.15s
user    0m 0.00s            user    0m 0.00s
sys     0m 6.05s            sys     0m 5.14s

Signed-off-by: Octavian Purdila <opurdila@ixiacom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: Add batman-adv meshing protocol
Sven Eckelmann [Mon, 13 Dec 2010 11:19:28 +0000 (11:19 +0000)]
net: Add batman-adv meshing protocol

B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is a routing
protocol for multi-hop ad-hoc mesh networks. The networks may be wired or
wireless. See http://www.open-mesh.org/ for more information and user space
tools.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: use NUMA_NO_NODE instead of the magic number -1
Changli Gao [Tue, 14 Dec 2010 03:09:15 +0000 (03:09 +0000)]
net: use NUMA_NO_NODE instead of the magic number -1

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobonding: add the debugfs interface to see RLB hash table
Taku Izumi [Sun, 12 Dec 2010 19:04:43 +0000 (19:04 +0000)]
bonding: add the debugfs interface to see RLB hash table

This patch provices the debugfs interface to see RLB hash table
like the following:

# cat /sys/kernel/debug/bonding/bond0/rlb_hash_table
SourceIP        DestinationIP   Destination MAC   DEV
10.124.196.205  10.124.196.205  ff:ff:ff:ff:ff:ff eth4
10.124.196.205  10.124.196.81   00:19:99:XX:XX:XX eth3
10.124.196.205  10.124.196.1    00:21:d8:XX:XX:XX eth0

This is helpful to check if the receive load balancing works as expected.

Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobonding: migrate some macros from bond_alb.c to bond_alb.h
Taku Izumi [Sun, 12 Dec 2010 19:03:24 +0000 (19:03 +0000)]
bonding: migrate some macros from bond_alb.c to bond_alb.h

This patch simply migrates some macros from bond_alb.c to bond_alb.h.

Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agocxgb4: NUMA-aware Tx queue allocations
Dimitris Michailidis [Tue, 14 Dec 2010 21:36:55 +0000 (21:36 +0000)]
cxgb4: NUMA-aware Tx queue allocations

Allocate Tx queue memory on the node indicated by the new
netdev_queue_numa_node_read.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agocxgb4: extend VPD parsing
Dimitris Michailidis [Tue, 14 Dec 2010 21:36:54 +0000 (21:36 +0000)]
cxgb4: extend VPD parsing

Current code parses the VPD RO section for keywords but makes static
assumptions about the location of the section.  Remove them and parse
the VPD to find it.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agocxgb4: add const to static arrays
Joe Perches [Tue, 14 Dec 2010 21:36:53 +0000 (21:36 +0000)]
cxgb4: add const to static arrays

Patch originally from Joe Perches, unmodified.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agocxgb4: remove a bitmap
Dimitris Michailidis [Tue, 14 Dec 2010 21:36:52 +0000 (21:36 +0000)]
cxgb4: remove a bitmap

The driver keeps a bitmap of the netdevs it registered so it knows what to
unregister later.  Remove that and look at reg_state instead.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agocxgb4: remove the name field from the adapter structure
Dimitris Michailidis [Tue, 14 Dec 2010 21:36:51 +0000 (21:36 +0000)]
cxgb4: remove the name field from the adapter structure

Remove a field the driver uses to keep track of the name of the first
netdev it manages to register.  Do this by changing the registration
loop to stop the first time it fails so the first registered device is
trivial to tell.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agocxgb4: correct formatting of MSI-X interrupt names
Dimitris Michailidis [Tue, 14 Dec 2010 21:36:50 +0000 (21:36 +0000)]
cxgb4: correct formatting of MSI-X interrupt names

The last byte of the buffer for MSI-X names could not be used due to a
bogus -1.  Also do not explicitly clear the last byte, snprintf will do
the right thing.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agocxgb4: allocate more space for MSI-X interrupt names
Dimitris Michailidis [Tue, 14 Dec 2010 21:36:49 +0000 (21:36 +0000)]
cxgb4: allocate more space for MSI-X interrupt names

Currently MSI-X names for netdevs with long names are truncated in
/proc/interrupts due to insufficient space.  Use IFNAMSIZ to size the
needed space.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agocxgb4: print port information after registering each netdev
Dimitris Michailidis [Tue, 14 Dec 2010 21:36:48 +0000 (21:36 +0000)]
cxgb4: print port information after registering each netdev

Print information about each port when its netdev is registered instead
of looping separately over the ports at the end.  The bulk of this patch
is due to indentation change.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agocxgb4: distinguish between 1-lane KR/KX and 4-lane KR/KX/KX4 ports
Dimitris Michailidis [Tue, 14 Dec 2010 21:36:47 +0000 (21:36 +0000)]
cxgb4: distinguish between 1-lane KR/KX and 4-lane KR/KX/KX4 ports

And fix the supported flags ethtool reports for the two cases.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agocxgb4: set the number of queues before device registration
Dimitris Michailidis [Tue, 14 Dec 2010 21:36:46 +0000 (21:36 +0000)]
cxgb4: set the number of queues before device registration

The number of queues is known early, move the calls to
netif_set_real_num_[rt]x_queues before register_netdev.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agocxgb4: do not read the clock frequency from VPD
Dimitris Michailidis [Tue, 14 Dec 2010 21:36:45 +0000 (21:36 +0000)]
cxgb4: do not read the clock frequency from VPD

No need to read the clock frequency from VPD, we already get it a bit
later from FW, after any potential adjustments.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agocxgb4: enable PCIe relaxed ordering
Dimitris Michailidis [Tue, 14 Dec 2010 21:36:44 +0000 (21:36 +0000)]
cxgb4: enable PCIe relaxed ordering

Enable relaxed ordering for descriptor reads and packet I/O.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2x: update version to 1.62.00-2
Vladislav Zolotarov [Mon, 13 Dec 2010 05:44:50 +0000 (05:44 +0000)]
bnx2x: update version to 1.62.00-2

Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2x: remove old FW files
Vladislav Zolotarov [Mon, 13 Dec 2010 20:34:37 +0000 (22:34 +0200)]
bnx2x: remove old FW files

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2x: replace FW to 6.2.5
Vladislav Zolotarov [Mon, 13 Dec 2010 05:44:35 +0000 (05:44 +0000)]
bnx2x: replace FW to 6.2.5

Includes FCoE releated fixes in FW flows

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2x: add FW 6.2.5 files
Vladislav Zolotarov [Mon, 13 Dec 2010 20:28:42 +0000 (22:28 +0200)]
bnx2x: add FW 6.2.5 files

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2x: Add DCB/PFC support - link layer
Vladislav Zolotarov [Mon, 13 Dec 2010 05:44:25 +0000 (05:44 +0000)]
bnx2x: Add DCB/PFC support - link layer

Add appropriate HW DCB/PFC configuration

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2x: add DCB support
Vladislav Zolotarov [Mon, 13 Dec 2010 05:44:18 +0000 (05:44 +0000)]
bnx2x: add DCB support

Adding DCB initialization and handling on 57712 FW/HW

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Shmulik Ravid-Rabinovitz <shmulikr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2x: add a select queue callback
Vladislav Zolotarov [Mon, 13 Dec 2010 05:44:09 +0000 (05:44 +0000)]
bnx2x: add a select queue callback

This callback required to allow FCoE traffic to be
sent on separate priority queue from other L2 traffic,
which is managed by PFC in HW.

Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Shmulik Ravid-Rabinovitz <shmulikr@broadcom.com>
Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2x: add FCoE ring
Vladislav Zolotarov [Mon, 13 Dec 2010 05:44:01 +0000 (05:44 +0000)]
bnx2x: add FCoE ring

Includes new driver structures and FW/HW configuration for FCoE ring

Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Shmulik Ravid-Rabinovitz <shmulikr@broadcom.com>
Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agobnx2x: Take the distribution range definition out of skb_tx_hash()
Vladislav Zolotarov [Mon, 13 Dec 2010 06:27:10 +0000 (06:27 +0000)]
bnx2x: Take the distribution range definition out of skb_tx_hash()

Move the calcualation of the Tx hash for a given hash range into a separate
function and define the skb_tx_hash(), which calculates a Tx hash for a
[0; dev->real_num_tx_queues - 1] hash values range, using this
function (__skb_tx_hash()).

Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: Abstract default MTU metric calculation behind an accessor.
David S. Miller [Tue, 14 Dec 2010 21:01:14 +0000 (13:01 -0800)]
net: Abstract default MTU metric calculation behind an accessor.

Like RTAX_ADVMSS, make the default calculation go through a dst_ops
method rather than caching the computation in the routing cache
entries.

Now dst metrics are pretty much left as-is when new entries are
created, thus optimizing metric sharing becomes a real possibility.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoMerge branch 'vhost-net-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mst...
David S. Miller [Tue, 14 Dec 2010 19:33:23 +0000 (11:33 -0800)]
Merge branch 'vhost-net-next' of git://git./linux/kernel/git/mst/vhost

13 years agoMerge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville...
David S. Miller [Tue, 14 Dec 2010 18:52:54 +0000 (10:52 -0800)]
Merge branch 'for-davem' of git://git./linux/kernel/git/linville/wireless-next-2.6

13 years agonet: Abstract default ADVMSS behind an accessor.
David S. Miller [Mon, 13 Dec 2010 20:52:14 +0000 (12:52 -0800)]
net: Abstract default ADVMSS behind an accessor.

Make all RTAX_ADVMSS metric accesses go through a new helper function,
dst_metric_advmss().

Leave the actual default metric as "zero" in the real metric slot,
and compute the actual default value dynamically via a new dst_ops
AF specific callback.

For stacked IPSEC routes, we use the advmss of the path which
preserves existing behavior.

Unlike ipv4/ipv6, DecNET ties the advmss to the mtu and thus updates
advmss on pmtu updates.  This inconsistency in advmss handling
results in more raw metric accesses than I wish we ended up with.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: change ip_default_ttl documentation
Eric Dumazet [Mon, 13 Dec 2010 20:50:49 +0000 (12:50 -0800)]
net: change ip_default_ttl documentation

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agopch_can: Replace netif_rx to netif_receive_skb
Tomoya [Sun, 12 Dec 2010 20:24:26 +0000 (20:24 +0000)]
pch_can: Replace netif_rx to netif_receive_skb

Since this driver is implemented as NAPI,
netif_receive_skb must be used not netif_rx.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Acked-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agopch_can: Add setting TEC/REC statistics processing
Tomoya [Sun, 12 Dec 2010 20:24:25 +0000 (20:24 +0000)]
pch_can: Add setting TEC/REC statistics processing

Add setting TEC/REC statistics processing.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agopch_can: Optimize "if" condition in rx/tx processing
Tomoya [Sun, 12 Dec 2010 20:24:24 +0000 (20:24 +0000)]
pch_can: Optimize "if" condition in rx/tx processing

For reduce "if" condition, easy to read/understand the code,
optimize "if" condition in rx/tx processing.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Acked-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agopch_can: Fix incorrect return processing
Tomoya [Sun, 12 Dec 2010 20:24:23 +0000 (20:24 +0000)]
pch_can: Fix incorrect return processing

Fix incorrect return processing.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agopch_can: Move MSI processing to probe/remove processing
Tomoya [Sun, 12 Dec 2010 20:24:22 +0000 (20:24 +0000)]
pch_can: Move MSI processing to probe/remove processing

Currently, in case this driver is integrated as module, and when this
module is re-installed, no interrupts is to be occurred.
For the above issue, move MSI processing to open/release processing.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agopch_can: Comment optimization
Tomoya [Sun, 12 Dec 2010 20:24:21 +0000 (20:24 +0000)]
pch_can: Comment optimization

Comment optimization

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agopch_can: Fix miss-setting status issue
Tomoya [Sun, 12 Dec 2010 20:24:20 +0000 (20:24 +0000)]
pch_can: Fix miss-setting status issue

Modify miss-setting status issue at suspend.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agopch_can: Fix bit timing calculation issue
Tomoya [Sun, 12 Dec 2010 20:24:19 +0000 (20:24 +0000)]
pch_can: Fix bit timing calculation issue

Modify like use calculated value directly passed by CAN core module.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Acked-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agopch_can: Delete unnecessary/redundant code
Tomoya [Sun, 12 Dec 2010 20:24:18 +0000 (20:24 +0000)]
pch_can: Delete unnecessary/redundant code

Delete unnecessary/redundant code

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agopch_can: Fix coding rule violation
Tomoya [Sun, 12 Dec 2010 20:24:17 +0000 (20:24 +0000)]
pch_can: Fix coding rule violation

Fix coding rule violation.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Acked-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agopch_can: Replace netdev_dbg instead of dev_dbg partly
Tomoya [Sun, 12 Dec 2010 20:24:16 +0000 (20:24 +0000)]
pch_can: Replace netdev_dbg instead of dev_dbg partly

For easy to readable, use netdev_dbg instead of dev_dbg partly

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agopch_can: Change Copyright and module description
Tomoya [Sun, 12 Dec 2010 20:24:15 +0000 (20:24 +0000)]
pch_can: Change Copyright and module description

Currently, Copyright and module description are not formal.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agopch_can: Reduce register access
Tomoya [Sun, 12 Dec 2010 20:24:14 +0000 (20:24 +0000)]
pch_can: Reduce register access

For improve tx/rx speed, reduce register access.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agopch_can: Change functions type
Tomoya [Sun, 12 Dec 2010 20:24:13 +0000 (20:24 +0000)]
pch_can: Change functions type

Currently, these two functions spec(returned value) is unnatural.
Thus, change the return value's spec

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agopch_can: Rename function/macro name
Tomoya [Sun, 12 Dec 2010 20:24:12 +0000 (20:24 +0000)]
pch_can: Rename function/macro name

For easy to read/understand, Rename function/macro name.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agopch_can: Fix warnings
Tomoya [Sun, 12 Dec 2010 20:24:11 +0000 (20:24 +0000)]
pch_can: Fix warnings

Currently, in case CONFIG_PM is disabled, compiler outputs warnings.
Move six functions which are used only CONFIG_PM is enabled,
into "#ifdef CONFIG_PM" area.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agopch_can: Improve rx processing
Tomoya [Sun, 12 Dec 2010 20:24:10 +0000 (20:24 +0000)]
pch_can: Improve rx processing

Replace complex "goto" to "do~while".
For easy to read/understand, it divides a rx function into some functions.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agopch_can: Fix endianness issue
Tomoya [Sun, 12 Dec 2010 20:24:09 +0000 (20:24 +0000)]
pch_can: Fix endianness issue

there is endianness issue both Tx and Rx.
Currently, data is set like below.
Register:
MSB--LSB
x x D0 D1
x x D2 D3
x x D4 D5
x x D6 D7

But Data to be sent must be set like below.
Register:
MSB--LSB
x x D1 D0
x x D3 D2
x x D5 D4
x x D7 D6  (x means reserved area.)

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agopch_can: Divide poll function
Tomoya [Sun, 12 Dec 2010 20:24:08 +0000 (20:24 +0000)]
pch_can: Divide poll function

To easy to read/understand, divide poll function into two sub-functions.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agopch_can: Add flow control processing
Tomoya [Sun, 12 Dec 2010 20:24:07 +0000 (20:24 +0000)]
pch_can: Add flow control processing

Currently, there is no flow control processing.
Thus, Add flow control processing as
when there is no empty of tx buffer,
netif_stop_queue is called.
When there is empty buffer, netif_wake_queue is called.

Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
John W. Linville [Mon, 13 Dec 2010 20:20:45 +0000 (15:20 -0500)]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless-next-2.6 into for-davem

13 years agonet: add limits to ip_default_ttl
Eric Dumazet [Mon, 13 Dec 2010 20:16:14 +0000 (12:16 -0800)]
net: add limits to ip_default_ttl

ip_default_ttl should be between 1 and 255

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoehea: Use the standard logging functions
Joe Perches [Mon, 13 Dec 2010 18:05:14 +0000 (10:05 -0800)]
ehea: Use the standard logging functions

Remove ehea_error, ehea_info and ehea_debug macros.
Use pr_fmt, pr_<level>, netdev_<level> and netif_<level> as appropriate.
Fix messages to use trailing "\n", some messages had an extra one
as the old ehea_<level> macros added a trailing "\n".
Coalesced long format strings.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoipv4: Don't pre-seed hoplimit metric.
David S. Miller [Mon, 13 Dec 2010 05:55:08 +0000 (21:55 -0800)]
ipv4: Don't pre-seed hoplimit metric.

Always go through a new ip4_dst_hoplimit() helper, just like ipv6.

This allowed several simplifications:

1) The interim dst_metric_hoplimit() can go as it's no longer
   userd.

2) The sysctl_ip_default_ttl entry no longer needs to use
   ipv4_doint_and_flush, since the sysctl is not cached in
   routing cache metrics any longer.

3) ipv4_doint_and_flush no longer needs to be exported and
   therefore can be marked static.

When ipv4_doint_and_flush_strategy was removed some time ago,
the external declaration in ip.h was mistakenly left around
so kill that off too.

We have to move the sysctl_ip_default_ttl declaration into
ipv4's route cache definition header net/route.h, because
currently net/ip.h (where the declaration lives now) has
a back dependency on net/route.h

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoipv6: Demark default hoplimit as zero.
David S. Miller [Mon, 13 Dec 2010 05:39:02 +0000 (21:39 -0800)]
ipv6: Demark default hoplimit as zero.

This is for consistency with ipv4.  Using "-1" makes
no sense.

It was made this way a long time ago merely to be consistent
with how the ipv6 socket hoplimit "default" is stored.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet: Abstract RTAX_HOPLIMIT metric accesses behind helper.
David S. Miller [Mon, 13 Dec 2010 05:35:57 +0000 (21:35 -0800)]
net: Abstract RTAX_HOPLIMIT metric accesses behind helper.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoipv6: Use ip6_dst_hoplimit() instead of direct dst_metric() calls.
David S. Miller [Mon, 13 Dec 2010 05:14:46 +0000 (21:14 -0800)]
ipv6: Use ip6_dst_hoplimit() instead of direct dst_metric() calls.

Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agohostap: don't use flush_scheduled_work()
Tejun Heo [Sun, 12 Dec 2010 15:45:15 +0000 (16:45 +0100)]
hostap: don't use flush_scheduled_work()

flush_scheduled_work() is on its way out.  Drop flush_scheduled_work()
from prism2_free_local_data() and replace it with explicit flushing of
work items on the respective free functions.  Work items in ap_data
are flushed from hostap_free_data() and the ones in local_info from
prism2_free_local_data().

Flush is used instead of cancel as some process and free items from
queue.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jes Sorensen <jes@trained-monkey.org>
Cc: netdev@vger.kernel.org
13 years agoi2400m: drop i2400m_schedule_work()
Tejun Heo [Sun, 12 Dec 2010 15:45:14 +0000 (16:45 +0100)]
i2400m: drop i2400m_schedule_work()

i2400m implements dynamic work allocation and queueing mechanism in
i2400_schedule_work(); however, this is only used for reset and
recovery which can be served equally well with preallocated per device
works.

Replace i2400m_schedule_work() with two work structs in struct i2400m.
These works are explicitly canceled when the device is released making
calls to flush_scheduled_work(), which is being deprecated,
unnecessary.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
Cc: linux-wimax@intel.com
Cc: netdev@vger.kernel.org
13 years agosungem: update gp->reset_task flushing
Tejun Heo [Sun, 12 Dec 2010 15:45:14 +0000 (16:45 +0100)]
sungem: update gp->reset_task flushing

gp->reset_task_pending is always set right before reset_task is
scheduled and as there is no synchronization between the setting and
scheduling, busy looping on reset_task_pending before flushing
reset_task doesn't really buy anything.

Directly flush gp->reset_task on suspend and cancel on detach.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: netdev@vger.kernel.org
13 years agoigb[v],ixgbe: don't use flush_scheduled_work()
Tejun Heo [Sun, 12 Dec 2010 15:45:14 +0000 (16:45 +0100)]
igb[v],ixgbe: don't use flush_scheduled_work()

All three drivers use flush_scheduled_work() similarly during driver
detach.  Replace it with explicit cancels.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: e1000-devel@lists.sourceforge.net
Cc: netdev@vger.kernel.org
13 years agoiseries_veth: don't use flush_scheduled_work()
Tejun Heo [Sun, 12 Dec 2010 15:45:14 +0000 (16:45 +0100)]
iseries_veth: don't use flush_scheduled_work()

flush_scheduled_work() is on its way out.  Remove its usage from
iseries_veth.

* Cancelling a delayed work, queueing it for immediate execution if
  cancelled and then waiting for completion can be done by simply
  calling flush_delayed_work_sync().

* Explicitly cancel cnx->statemachine_wq on module unload.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Santiago Leon <santil@linux.vnet.ibm.com>
Cc: netdev@vger.kernel.org
13 years agoehea: don't use flush_scheduled_work()
Tejun Heo [Sun, 12 Dec 2010 15:45:14 +0000 (16:45 +0100)]
ehea: don't use flush_scheduled_work()

Directly cancel port->reset_task from ehea_shutdown_single_port()
instead.  As this cancels the work for each port on driver detach,
flushing system_wq from ehea_remove() or ehea_module_exit() is no
longer necessary.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Breno Leitao <leitao@linux.vnet.ibm.com>
Cc: netdev@vger.kernel.org
13 years agoehea: kill unused ehea_rereg_mr_task
Tejun Heo [Sun, 12 Dec 2010 15:45:14 +0000 (16:45 +0100)]
ehea: kill unused ehea_rereg_mr_task

ehea_rereg_mr_task is not used.  Remove it and drop @work parameter
from ehea_rereg_mrs().

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Breno Leitao <leitao@linux.vnet.ibm.com>
Cc: netdev@vger.kernel.org
13 years agodrivers/net: don't use flush_scheduled_work()
Tejun Heo [Sun, 12 Dec 2010 15:45:14 +0000 (16:45 +0100)]
drivers/net: don't use flush_scheduled_work()

flush_scheduled_work() is on its way out.  This patch contains simple
conversions to replace flush_scheduled_work() usage with direct
cancels and flushes.

Directly cancel the used works on driver detach and flush them in
other cases.

The conversions are mostly straight forward and the only dangers are,

* Forgetting to cancel/flush one or more used works.

* Cancelling when a work should be flushed (ie. the work must be
  executed once scheduled whether the driver is detaching or not).

I've gone over the changes multiple times but it would be much
appreciated if you can review with the above points in mind.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jay Cliburn <jcliburn@gmail.com>
Cc: Michael Chan <mchan@broadcom.com>
Cc: Divy Le Ray <divy@chelsio.com>
Cc: e1000-devel@lists.sourceforge.net
Cc: Vasanthy Kolluri <vkolluri@cisco.com>
Cc: Samuel Ortiz <samuel@sortiz.org>
Cc: Lennert Buytenhek <buytenh@wantstofly.org>
Cc: Andrew Gallatin <gallatin@myri.com>
Cc: Francois Romieu <romieu@fr.zoreil.com>
Cc: Ramkrishna Vepa <ramkrishna.vepa@exar.com>
Cc: Matt Carlson <mcarlson@broadcom.com>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: Shreyas Bhatewara <sbhatewara@vmware.com>
Cc: netdev@vger.kernel.org
13 years agodrivers/net: remove unnecessary flush_scheduled_work() calls
Tejun Heo [Sun, 12 Dec 2010 15:45:14 +0000 (16:45 +0100)]
drivers/net: remove unnecessary flush_scheduled_work() calls

janz-ican3, sh_eth, skge and vxge don't use workqueue at all and there
is no reason to flush the system_wq.  Drop flush_scheduled_work()
calls and references to workqueue.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Wolfgang Grandegger <wg@grandegger.com>
Cc: Stephen Hemminger <shemminger@linux-foundation.org>
Cc: Ramkrishna Vepa <ramkrishna.vepa@exar.com>
Cc: Sivakumar Subramani <sivakumar.subramani@exar.com>
Cc: Sreenivasa Honnur <sreenivasa.honnur@exar.com>
Cc: Jon Mason <jon.mason@exar.com>
Cc: netdev@vger.kernel.org
13 years agonet: au1000_eth: remove unused global variable.
Manuel Lauss [Sat, 11 Dec 2010 09:53:42 +0000 (09:53 +0000)]
net: au1000_eth: remove unused global variable.

The driver global au_macs[] is unused in the entire kernel tree,
so remove it.

Signed-off-by: Manuel Lauss <manuel.lauss@googlemail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agos2io: Using static const generally increases object text and decreases data size...
Jon Mason [Fri, 10 Dec 2010 15:40:04 +0000 (15:40 +0000)]
s2io: Using static const generally increases object text and decreases data size. It also generally decreases overall object size.

text    data     bss     dec     hex filename
 109387     389   24432  134208   20c40 drivers/net/s2io.o.old
 109358     389   24432  134179   20c23 drivers/net/s2io.o.new

Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Jon Mason <jon.mason@exar.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agos2io: Update Driver Version
Jon Mason [Fri, 10 Dec 2010 15:40:03 +0000 (15:40 +0000)]
s2io: Update Driver Version

Update Driver Version

Signed-off-by: Jon Mason <jon.mason@exar.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agos2io: make strings at tables const
Jon Mason [Fri, 10 Dec 2010 15:40:02 +0000 (15:40 +0000)]
s2io: make strings at tables const

Put immutable data in read/only section.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Jon Mason <jon.mason@exar.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agos2io: rx_ring_sz bounds checking
Jon Mason [Fri, 10 Dec 2010 15:40:01 +0000 (15:40 +0000)]
s2io: rx_ring_sz bounds checking

modparm rx_ring_sz can be set to be greater than the maximum allowable
number of blocks.  This results in an array overrun when probing the
driver, and causes memory corruption.

Also, the MAX_RX_DESC_1 multiply the max number of rings by max number
of blocker per ring by 127, but the driver does the same calculation
with 127+1.  This results in the possibility of the value being set
being larger than the maximum allowable value.

Finally, clean-up the s2io_ethtool_gringparam code to be more
intuitive.

Signed-off-by: Jon Mason <jon.mason@exar.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoigb: Add new function to read part number from EEPROM in string format
Carolyn Wyborny [Mon, 22 Nov 2010 17:17:21 +0000 (17:17 +0000)]
igb: Add new function to read part number from EEPROM in string format

New adapters will have part numbers stored in string format rather than
simple hex format. This function will read part number formats in either
hex or string.

Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoe1000e: increment the driver version
Bruce Allan [Wed, 1 Dec 2010 08:45:24 +0000 (08:45 +0000)]
e1000e: increment the driver version

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoe1000e: static analysis tools complain of a possible null ptr p dereference
Bruce Allan [Thu, 9 Dec 2010 23:04:25 +0000 (23:04 +0000)]
e1000e: static analysis tools complain of a possible null ptr p dereference

Adding this default case resolves the issue.

v2- Removed "break" in default case based on feedback

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Emil Tantilov <emil.s.tantilov@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoe1000e: minor error message corrections
Bruce Allan [Wed, 24 Nov 2010 06:02:06 +0000 (06:02 +0000)]
e1000e: minor error message corrections

Correct error messages when setting up Rx resources and when checking
module parameters.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoe1000e: prevent null ptr dereference in e1000_tx_queue()
Bruce Allan [Wed, 24 Nov 2010 07:42:43 +0000 (07:42 +0000)]
e1000e: prevent null ptr dereference in e1000_tx_queue()

tx_desc can be dereferenced as a null pointer when count is passed in
as 0.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Emil Tantilov <emil.s.tantilov@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoe1000e: support new PBA format from EEPROM
Bruce Allan [Wed, 24 Nov 2010 06:01:51 +0000 (06:01 +0000)]
e1000e: support new PBA format from EEPROM

Provide support to e1000e for displaying the new format of the PBA found
in the EEPROM.  The unique PBA identifier is no longer restricted to
hexadecimal numbers and must now be read and displayed as a string.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoe1000e: 82579 PHY incorrectly identified during init
Bruce Allan [Wed, 24 Nov 2010 06:01:46 +0000 (06:01 +0000)]
e1000e: 82579 PHY incorrectly identified during init

During init, reading the 2 PHY ID registers back-to-back in the default
fast mode could return invalid data (all F's) and in slow mode could
return data to the second read the data from the first read.  To resolve
the issue in fast mode, set to slow mode before any PHY accesses; to
resolve the issue in slow mode, put in a delay for every 82579 PHY access.
Since this PHY is currently only paired with the pch2lan MAC and the PHY
type is not known before the first PHY access which can fail this way,
check for this based on MAC-type.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoe1000e: 82577/8/9 mis-configured OEM bits during S0->Sx
Bruce Allan [Wed, 24 Nov 2010 06:01:41 +0000 (06:01 +0000)]
e1000e: 82577/8/9 mis-configured OEM bits during S0->Sx

The LPLU (Low Power Link Up) and Gigabit Disable bits (a.k.a. OEM bits)
were being configured incorrectly when device goes to D3 state.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoe1000e: 82571 Serdes can fail to get link
Bruce Allan [Wed, 24 Nov 2010 06:01:35 +0000 (06:01 +0000)]
e1000e: 82571 Serdes can fail to get link

When link partner is sending continuous Config symbols, the 82571 Serdes
FIFO can overflow resulting in Invalid bit getting set.  To resolve this,
if Sync and Config bits are both 1 ignore the Invalid bit and restart
auto-negotiation.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Emil Tantilov <emil.s.tantilov@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoe1000e: 82577/8 must acquire h/w semaphore before workaround
Bruce Allan [Wed, 24 Nov 2010 06:01:30 +0000 (06:01 +0000)]
e1000e: 82577/8 must acquire h/w semaphore before workaround

The workaround function e1000_configure_k1_pchlan() assumes the h/w
semaphore is already acquired.  This was originally missed when setting up
the part for the ethtool loopback test.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoe1000e: 82574/82583 performance improvement
Bruce Allan [Wed, 24 Nov 2010 06:01:25 +0000 (06:01 +0000)]
e1000e: 82574/82583 performance improvement

Increasing the transmit fifo by 4K (by decreasing the receive fifo size
specified in .pba by the same amount) increases Tx performance.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Emil Tantilov <emil.s.tantilov@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoe1000e: 82571-based mezzanine card can fail ethtool link test
Bruce Allan [Wed, 24 Nov 2010 06:01:20 +0000 (06:01 +0000)]
e1000e: 82571-based mezzanine card can fail ethtool link test

On certain 82571-based mezzanine NICs in some blade servers, the ethtool
link test can fail due to the serdes_has_link flag not set correctly.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Emil Tantilov <emil.s.tantilov@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoe1000e: fix double initialization in blink path
Holger Eitzenberger [Wed, 17 Nov 2010 15:43:52 +0000 (15:43 +0000)]
e1000e: fix double initialization in blink path

The kernel goes BUG() at the time 'ethtool -p eth0 3' comes
back, which is due to adapter->led_blink_task initialized
several times.  At the time it is still running this results
in a corrupted task_list of the associated workqueue.

The fix is to move the workqueue initialization to the
probe function instead.

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>
Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Emil Tantilov <emil.s.tantilov@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoixgbe: cleanup string function calls to use bound checking versions.
Don Skidmore [Fri, 3 Dec 2010 09:33:54 +0000 (09:33 +0000)]
ixgbe: cleanup string function calls to use bound checking versions.

Some minor cleanup to use string calls that use bound checks just to
be extra safe.

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 ntuple support
Emil Tantilov [Wed, 1 Dec 2010 05:47:05 +0000 (05:47 +0000)]
ixgbe: fix ntuple support

commit f62bbb5e62c6e4a91fb222d22bc46e8d4d7e59ef
ixgbe: Update ixgbe to use new vlan accleration.

removed ETH_FLAG_NTUPLE from the supported flags.

This patch puts it back on to allow for setting ntuple via ethtool.

CC: Jesse Gross <jesse@nicira.com>
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 X540 to use it's own info struct
Don Skidmore [Thu, 9 Dec 2010 06:55:19 +0000 (06:55 +0000)]
ixgbe: fix X540 to use it's own info struct

This patch enables X540 hardware to use it's own set of support
functions.  This is useful as it has no need of SFP+ support.  A
couple minor bugs with the eeprom semaphore were also cleaned up.

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 X540 phy id to correct value
Don Skidmore [Thu, 9 Dec 2010 06:55:14 +0000 (06:55 +0000)]
ixgbe: fix X540 phy id to correct value

The existing PHY ID for X540 was from early production hardware and
is no longer correct.  This patch corrects that.

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 agoixgb: Don't check for vlan group on transmit
Emil Tantilov [Sat, 4 Dec 2010 05:35:17 +0000 (05:35 +0000)]
ixgb: Don't check for vlan group on transmit

Based on a patch from Jesse Gross.

Enable vlan tag insertion even when vlan group is not configured.

For ixgb HW both CTRL0.VME and VLE bit in the Tx descriptor need to be set
in order to enable HW acceleration.

Introduced separate functions for enabling/disabling of vlan tag stripping
similar to ixgbe.

CC: Jesse Gross <jesse@nicira.com>
Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
13 years agoIntel Wired LAN drivers: Use static const
Jeff Kirsher [Wed, 1 Dec 2010 19:59:50 +0000 (19:59 +0000)]
Intel Wired LAN drivers: Use static const

Based on work by Joe Perches <joe@perches.com>

Using static const to decrease data and overall object size.

CC: Joe Perches <joe@perches.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Tested-by: Emil Tantilov <emil.s.tantilov@intel.com>
13 years agoe1000: fix return value not set on error
Dean Nelson [Thu, 11 Nov 2010 05:50:25 +0000 (05:50 +0000)]
e1000: fix return value not set on error

Dean noticed that 'err' wasn't being set when the "goto err_dma"
statement is executed in the following hunk from the commit. It's value
will be zero as a result of a successful call to e1000_init_hw_struct().

This patch changes the error condition to be correctly propagated.

CC: stable@kernel.org
Signed-off-by: Dean Nelson <dnelson@redhat.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Emil Tantilov <emil.s.tantilov@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>