Amit Kumar Salecha [Fri, 16 Oct 2009 15:50:07 +0000 (15:50 +0000)]
netxen: 128 memory controller support
Future revisions of the chip have 128 bit memory
transactions. Require drivers to implement rmw
in case of sub-128 bit accesses by driver. This
is mostly used by diagnostic tools.
Signed-off-by: Amit Kumar Salecha <[email protected]>
Signed-off-by: Dhananjay Phadke <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Amit Kumar Salecha [Fri, 16 Oct 2009 15:50:06 +0000 (15:50 +0000)]
netxen: defines for next revision
Signed-off-by: Amit Kumar Salecha <[email protected]>
Signed-off-by: Dhananjay Phadke <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Ajit Khaparde [Sat, 17 Oct 2009 01:02:12 +0000 (18:02 -0700)]
be2net: Add support for next generation of BladeEngine device.
Add new PCI ids to support next generation of BladeEngine device.
Signed-off-by: Ajit Khaparde <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Rémi Denis-Courmont [Thu, 15 Oct 2009 19:29:14 +0000 (12:29 -0700)]
Phonet: hold socket before giving it to sk_deliver_skb()
Signed-off-by: Rémi Denis-Courmont <[email protected]>
Acked-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Eilon Greenstein [Thu, 15 Oct 2009 07:19:31 +0000 (00:19 -0700)]
bnx2x: Update to version 1.52.1-1
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Eilon Greenstein [Thu, 15 Oct 2009 07:19:05 +0000 (00:19 -0700)]
bnx2x: Report the maximal available BW as link speed
The device is limited to the maximal BW allocation, so it should be displayed as
the link speed to notify the user.
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Eilon Greenstein [Thu, 15 Oct 2009 07:18:47 +0000 (00:18 -0700)]
bnx2x: Do not call load/unload functionality from DCC
There is really no need to clear the MAC or the FW filtering rules - it was
added for completion, but caused race conditions with load/unload. Removing this
redundant code
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Eilon Greenstein [Thu, 15 Oct 2009 07:18:27 +0000 (00:18 -0700)]
bnx2x: Adding FW mailbox mutex
DCC commands are not protected with the RTNL lock, so a mutex should be added
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Eilon Greenstein [Thu, 15 Oct 2009 07:18:08 +0000 (00:18 -0700)]
bnx2x: Changing the Disabled state to a flag
When working with DCC, a function can be disabled or enabled (virtual link down
or up). Using the function state introduced some race conditions with the
load/unload flow.
Using a separate flag to indicate that the function is disabled.
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Eilon Greenstein [Thu, 15 Oct 2009 07:17:45 +0000 (00:17 -0700)]
bnx2x: Remove old FW files
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Eilon Greenstein [Thu, 15 Oct 2009 07:17:20 +0000 (00:17 -0700)]
bnx2x: Allowing 0 as initial fairness value
Value of zero was used to disable the fairness mechanism. Though the code
(driver and FW) allowed changing the value at run time, it did not allow to do
that if the mechanism was disabled to begin with.
Fixed the FW to allow turning on and off the mechanism at run time. Fixed the
code to read the value from the chip at the right sequence.
Without this fix, if the initial value was set to zero, traffic could not run on
the interface.
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Eilon Greenstein [Thu, 15 Oct 2009 07:16:27 +0000 (00:16 -0700)]
bnx2x: Add FW 5.2.7
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
David S. Miller [Thu, 15 Oct 2009 04:32:43 +0000 (21:32 -0700)]
sparc: Add missing __NR_recvmmsg define.
Signed-off-by: David S. Miller <[email protected]>
Eric Dumazet [Thu, 15 Oct 2009 03:40:11 +0000 (20:40 -0700)]
net: sk_drops consolidation
sock_queue_rcv_skb() can update sk_drops itself, removing need for
callers to take care of it. This is more consistent since
sock_queue_rcv_skb() also reads sk_drops when queueing a skb.
This adds sk_drops managment to many protocols that not cared yet.
Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Thomas Sailer [Wed, 14 Oct 2009 22:15:24 +0000 (15:15 -0700)]
hamradio: Fix bit test correctly.
Signed-off-by: Thomas Sailer <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Rémi Denis-Courmont [Wed, 14 Oct 2009 00:48:31 +0000 (00:48 +0000)]
Phonet: forward incoming packets
Signed-off-by: Rémi Denis-Courmont <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Rémi Denis-Courmont [Wed, 14 Oct 2009 00:48:30 +0000 (00:48 +0000)]
Phonet: route outgoing packets
Signed-off-by: Rémi Denis-Courmont <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Rémi Denis-Courmont [Wed, 14 Oct 2009 00:48:29 +0000 (00:48 +0000)]
Phonet: routing table Netlink interface
Signed-off-by: Rémi Denis-Courmont <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Rémi Denis-Courmont [Wed, 14 Oct 2009 00:48:28 +0000 (00:48 +0000)]
Phonet: routing table backend
The Phonet "universe" only has 64 addresses, so we keep a trivial flat
routing table.
Signed-off-by: Rémi Denis-Courmont <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Rémi Denis-Courmont [Wed, 14 Oct 2009 00:48:27 +0000 (00:48 +0000)]
Phonet: deliver broadcast packets to broadcast sockets
Signed-off-by: Rémi Denis-Courmont <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Arnaldo Carvalho de Melo [Wed, 14 Oct 2009 20:11:30 +0000 (13:11 -0700)]
ia64: Fix up the syscall table for recvmmsg
Reported-by: "Tony Luck" <[email protected]>
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
Acked-by: Tony Luck <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Thomas Gleixner [Wed, 14 Oct 2009 08:19:46 +0000 (01:19 -0700)]
net: Remove BKL from tun
The lock_kernel/unlock_kernel() in cycle_kernel_lock() which is called
in tun_chr_open() is not serializing against anything and safe to
remove.
tun_chr_fasync() is serialized by get/put_tun() and fasync_helper()
has no dependency on BKL. The modification of tun->flags is racy with
and without the BKL so removing it does not make it worse.
Signed-off-by: Thomas Gleixner <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
David S. Miller [Tue, 13 Oct 2009 19:55:20 +0000 (12:55 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6
Sriram [Wed, 7 Oct 2009 02:44:30 +0000 (02:44 +0000)]
TI DaVinci EMAC: Clear statistics register properly.
The mechanism to clear the statistics register is dependent
on the status of GMIIEN bit in MAC control register. If the
GMIIEN bit is set, the stats registers are write to decrement.
If the GMIIEN bit is cleared, the stats registers are plain
read/write registers. The stats register clearing operation
must take into account the current state of GMIIEN as it
can be cleared when the interface is brought down.
With existing implementation logic, querying for interface stats
when the interface is down, can corrupt the statistics counters.
This patch examines the GMIIEN bit status in MAC_CONTROL
register before choosing an appropriate mask for clearing stats
registers.
Signed-off-by: Sriramakrishnan <[email protected]>
Acked-by: Chaithrika U S <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
françois romieu [Wed, 7 Oct 2009 12:44:20 +0000 (12:44 +0000)]
r8169: partial support and phy init for the 8168d
Extracted from Realtek's 8.012.00 r8168 driver.
Signed-off-by: Francois Romieu <[email protected]>
Tested-by: Simon Farnsworth <[email protected]>
Cc: Edward Hsu <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Manuel Lauss [Tue, 13 Oct 2009 07:25:49 +0000 (07:25 +0000)]
net: smsc911x: allow platform_data to specify mac address
Extend the driver to accept a MAC address specified in platform_data.
Signed-off-by: Manuel Lauss <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Manuel Lauss [Tue, 13 Oct 2009 07:25:48 +0000 (07:25 +0000)]
net: enable smsc911x on MIPS
Signed-off-by: Manuel Lauss <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Ajit Khaparde [Tue, 13 Oct 2009 01:46:56 +0000 (01:46 +0000)]
ixgb: Fix erroneous display of stats by ethtool -S
Commit
5675f221 overlooked the way offsets for netdev stats were considered.
Because of this some of the stats shown by ethtool -S were wrong.
This patch fixes it.
Signed-off-by: Ajit Khaparde <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Ajit Khaparde [Tue, 13 Oct 2009 01:46:29 +0000 (01:46 +0000)]
igb: Fix erroneous display of stats by ethtool -S
Commit
337e067d overlooked the way offsets for netdev stats were considered.
Because of this some of the stats shown by ethtool -S were wrong.
This patch fixes it.
Signed-off-by: Ajit Khaparde <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Ajit Khaparde [Tue, 13 Oct 2009 01:45:48 +0000 (01:45 +0000)]
e1000: Fix erroneous display of stats by ethtool -S
Commit
23d26497 overlooked the way offsets for netdev stats were considered.
Because of this some of the stats shown by ethtool -S were wrong.
This patch fixes it.
Signed-off-by: Ajit Khaparde <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Ajit Khaparde [Tue, 13 Oct 2009 01:45:09 +0000 (01:45 +0000)]
e1000e: Fix erroneous display of stats by ethtool -S
Commit
fd8235bb overlooked the way offsets for netdev stats were considered.
Because of this some of the stats shown by ethtool -S were wrong.
This patch fixes it.
Signed-off-by: Ajit Khaparde <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Ajit Khaparde [Tue, 13 Oct 2009 01:47:33 +0000 (01:47 +0000)]
ixgbe: Fix erroneous display of stats by ethtool -S
Commit
59aa3cc4 overlooked the way offsets for netdev stats were considered.
Because of this some of the stats shown by ethtool -S were wrong.
This patch fixes it.
Signed-off-by: Ajit Khaparde <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Dhananjay Phadke [Tue, 13 Oct 2009 05:31:45 +0000 (05:31 +0000)]
netxen: add sysfs entries for diag tools
Add sysfs entries to enable register and memory access
for diagnostic tools.
Signed-off-by: Narender Kumar <[email protected]>
Signed-off-by: Dhananjay Phadke <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Dhananjay Phadke [Tue, 13 Oct 2009 05:31:44 +0000 (05:31 +0000)]
netxen: separate register and memory access lock
Since register and onboard memory access has separate
window registers, they need not be kept under same lock.
Also, memory is always accessed from process context
(mostly for firmware init and diagnostic tools).
Signed-off-by: Dhananjay Phadke <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Dhananjay Phadke [Tue, 13 Oct 2009 05:31:43 +0000 (05:31 +0000)]
netxen: annotate register windowing code
Use common variables crb_win, ocm_win for all revisions of chip.
Signed-off-by: Dhananjay Phadke <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Dhananjay Phadke [Tue, 13 Oct 2009 05:31:42 +0000 (05:31 +0000)]
netxen: add access to on chip memory for tools
Add access to on chip memory, this is used by
debug and diagnostic tools only.
Signed-off-by: Dhananjay Phadke <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Amit Kumar Salecha [Tue, 13 Oct 2009 05:31:41 +0000 (05:31 +0000)]
netxen: remove sub 64-bit mem accesses
Sub 64-bit / unaligned access to oncard memory was only used
by old diagnostic tools, causes some intermittent issues when
memory controller agent is used. The new access method was
added by commit
ea6828b8aa3a8ebae8d7740f32f212ba1d2f0742
("netxen: improve pci memory access"). Firmware init anyway
uses 8-byte strides.
This also fixes address/offset calculation for NX2031 context
memory (SIU). For NX3031, SIU uses same register offsets
as packet memory (MIU).
Signed-off-by: Amit Kumar Salecha <[email protected]>
Signed-off-by: Dhananjay Phadke <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Eric Dumazet [Tue, 13 Oct 2009 05:34:20 +0000 (05:34 +0000)]
net: Use netdev_alloc_skb_ip_align()
Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
David S. Miller [Tue, 13 Oct 2009 18:41:34 +0000 (11:41 -0700)]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless-2.6
roel kluin [Tue, 6 Oct 2009 10:07:15 +0000 (10:07 +0000)]
sb1250-mac: duplicate setting of bit V_MAC_RX_PL_THRSH(4) in sbmac_channel_start()
The bit V_MAC_RX_PL_THRSH(4) was already set a few lines higher.
Signed-off-by: Roel Kluin <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
roel kluin [Tue, 6 Oct 2009 01:20:08 +0000 (01:20 +0000)]
net/hamradio: fix test in receive()
The negation makes it a bool before the comparison and hence it
will never evaluate to true.
Signed-off-by: Roel Kluin <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
roel kluin [Wed, 7 Oct 2009 00:59:42 +0000 (00:59 +0000)]
x25: bit and/or confusion in x25_ioctl()?
Looking at commit
ebc3f64b864f it appears that this was intended
and not the original, equivalent to `if (facilities.reverse & ~0x81)'.
In x25_parse_facilities() that patch changed how facilities->reverse
was set. No other bits were set than 0x80 and/or 0x01.
Signed-off-by: Roel Kluin <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Karen Xie [Thu, 8 Oct 2009 09:11:05 +0000 (09:11 +0000)]
cxgb3: Added private MAC address and provisioning packet handler for iSCSI
This patch added support of private MAC address per port and provisioning
packet handler for iSCSI traffic only.
The above changes are isolated to the cxgb3 driver, independent of any scsi or iscsi driver changes.
Acked-by: Karen Xie <[email protected]>
Acked-by: Divy Le Ray <[email protected]>
Signed-off-by: Rakesh Ranjan <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Magnus Damm [Fri, 9 Oct 2009 00:20:04 +0000 (00:20 +0000)]
net: add Runtime PM to the sh_eth driver
Add Runtime PM support to the sh_eth driver.
The clock to the ethernet hardware block will be
enabled as long as the network device is up.
Signed-off-by: Magnus Damm <[email protected]>
Tested-by: Kuninori Morimoto <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Magnus Damm [Fri, 9 Oct 2009 00:17:14 +0000 (00:17 +0000)]
net: allow sh_eth to get mac address through platform data
Extend the sh_eth driver to allow passing the mac address
using the platform data structure. This to simplify board
setup code.
Signed-off-by: Magnus Damm <[email protected]>
Tested-by: Kuninori Morimoto <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Wolfgang Grandegger [Thu, 8 Oct 2009 22:17:11 +0000 (22:17 +0000)]
can: make the number of echo skb's configurable
This patch allows the CAN controller driver to define the number of echo
skb's used for the local loopback (echo), as suggested by Kurt Van
Dijck, with the function:
struct net_device *alloc_candev(int sizeof_priv,
unsigned int echo_skb_max);
The CAN drivers have been adapted accordingly. For the ems_usb driver,
as suggested by Sebastian Haas, the number of echo skb's has been
increased to 10, which improves the transmission performance a lot.
Signed-off-by: Wolfgang Grandegger <[email protected]>
Signed-off-by: Kurt Van Dijck <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Eric Dumazet [Wed, 7 Oct 2009 17:11:23 +0000 (17:11 +0000)]
net: Add netdev_alloc_skb_ip_align() helper
Instead of hardcoding NET_IP_ALIGN stuff in various network drivers,
we can add a helper around netdev_alloc_skb()
Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Eric Dumazet [Fri, 9 Oct 2009 00:16:19 +0000 (00:16 +0000)]
tcp: replace ehash_size by ehash_mask
Storing the mask (size - 1) instead of the size allows fast path to be
a bit faster.
Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Cosmin Ratiu [Fri, 9 Oct 2009 03:11:14 +0000 (03:11 +0000)]
ipv6: fix devconf after adding force_tllao option
Signed-off-by: Cosmin Ratiu <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Dmitry Artamonow [Tue, 13 Oct 2009 10:17:37 +0000 (03:17 -0700)]
irda/sa1100_ir: check return value of startup hook
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Eric Dumazet [Fri, 9 Oct 2009 04:43:40 +0000 (04:43 +0000)]
udp: Fix udp_poll() and ioctl()
udp_poll() can in some circumstances drop frames with incorrect checksums.
Problem is we now have to lock the socket while dropping frames, or risk
sk_forward corruption.
This bug is present since commit
95766fff6b9a78d1
([UDP]: Add memory accounting.)
While we are at it, we can correct ioctl(SIOCINQ) to also drop bad frames.
Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Krzysztof Halasa [Fri, 9 Oct 2009 06:16:10 +0000 (06:16 +0000)]
WAN: fix Cisco HDLC handshaking.
Cisco HDLC uses keepalive packets and sequence numbers to determine link
state. In rare cases both ends could transmit keepalive packets at the same
time, causing the received sequence numbers to be treated as incorrect.
Now we accept our current sequence number as well as the previous one.
Signed-off-by: Krzysztof Hałasa <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Willy Tarreau [Tue, 13 Oct 2009 07:27:40 +0000 (00:27 -0700)]
tcp: fix tcp_defer_accept to consider the timeout
I was trying to use TCP_DEFER_ACCEPT and noticed that if the
client does not talk, the connection is never accepted and
remains in SYN_RECV state until the retransmits expire, where
it finally is deleted. This is bad when some firewall such as
netfilter sits between the client and the server because the
firewall sees the connection in ESTABLISHED state while the
server will finally silently drop it without sending an RST.
This behaviour contradicts the man page which says it should
wait only for some time :
TCP_DEFER_ACCEPT (since Linux 2.4)
Allows a listener to be awakened only when data arrives
on the socket. Takes an integer value (seconds), this
can bound the maximum number of attempts TCP will
make to complete the connection. This option should not
be used in code intended to be portable.
Also, looking at ipv4/tcp.c, a retransmit counter is correctly
computed :
case TCP_DEFER_ACCEPT:
icsk->icsk_accept_queue.rskq_defer_accept = 0;
if (val > 0) {
/* Translate value in seconds to number of
* retransmits */
while (icsk->icsk_accept_queue.rskq_defer_accept < 32 &&
val > ((TCP_TIMEOUT_INIT / HZ) <<
icsk->icsk_accept_queue.rskq_defer_accept))
icsk->icsk_accept_queue.rskq_defer_accept++;
icsk->icsk_accept_queue.rskq_defer_accept++;
}
break;
==> rskq_defer_accept is used as a counter of retransmits.
But in tcp_minisocks.c, this counter is only checked. And in
fact, I have found no location which updates it. So I think
that what was intended was to decrease it in tcp_minisocks
whenever it is checked, which the trivial patch below does.
Signed-off-by: Willy Tarreau <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Nicolas de Pesloüan [Tue, 13 Oct 2009 07:45:06 +0000 (00:45 -0700)]
bonding: change bond_create_proc_entry() to return void
The function bond_create_proc_entry is currently of type int.
Two versions of this function exist:
The one in the ifdef CONFIG_PROC_FS branch always return 0.
The one in the else branch (which is empty) return nothing.
When CONFIG_PROC_FS is undef, this cause the following warning:
drivers/net/bonding/bond_main.c: In function `bond_create_proc_entry':
drivers/net/bonding/bond_main.c:3393: warning: control reaches end of
non-void function
No caller of this function use the returned value.
So change the returned type from int to void and remove the
useless return 0; .
Signed-off-by: Nicolas de Pesloüan <[email protected]>
Reported-by: Rakib Mullick <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Ken Kawasaki [Tue, 13 Oct 2009 07:32:55 +0000 (00:32 -0700)]
3c574_cs: spin_lock the set_multicast_list function
3c574_cs:
spin_lock the set_multicast_list function.
Signed-off-by: Ken Kawasaki <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Chris Rankin [Tue, 13 Oct 2009 07:32:02 +0000 (00:32 -0700)]
net: Teach pegasus driver to ignore bluetoother adapters with clashing Vendor:Product IDs
The Belkin F8T012xx1 bluetooth adaptor has the same vendor and product
IDs as the Belkin
F5D5050, so we need to teach the pegasus driver to
ignore adaptors belonging to the "Wireless" class 0xE0. For this one
case anyway, seeing as pegasus is a driver for "Wired" adaptors.
Signed-off-by: Chris Rankin <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Dhananjay Phadke [Tue, 13 Oct 2009 07:26:04 +0000 (00:26 -0700)]
netxen: fix pci bar mapping
Use resource_size_t for PCI resource remapping instead
of unsigned long. Physical addresses can exceed range of
long data type (e.g with PAE).
Signed-off-by: Dhananjay Phadke <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Alan Cox [Mon, 12 Oct 2009 05:27:55 +0000 (05:27 +0000)]
ethoc: fix warning from 32bit build
drivers/net/ethoc.c: In function ‘ethoc_open’:
drivers/net/ethoc.c:667: warning: comparison of distinct pointer types
lacks a cast
Signed-off-by: Alan Cox <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Alan Cox [Mon, 12 Oct 2009 05:27:48 +0000 (05:27 +0000)]
libertas: fix build
drivers/net/wireless/libertas/cmdresp.c: In function ‘lbs_process_event’:
drivers/net/wireless/libertas/cmdresp.c:519: error: ‘TASK_INTERRUPTIBLE’
undeclared (first use in this function)
drivers/net/wireless/libertas/cmdresp.c:519: error: (Each undeclared
identifier is reported only once
drivers/net/wireless/libertas/cmdresp.c:519: error: for each function it
appears in.)
Signed-off-by: Alan Cox <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Shreyas Bhatewara [Tue, 13 Oct 2009 07:15:51 +0000 (00:15 -0700)]
net: VMware virtual Ethernet NIC driver: vmxnet3
Ethernet NIC driver for VMware's vmxnet3
From: Shreyas Bhatewara <
[email protected]>
This patch adds driver support for VMware's virtual Ethernet NIC: vmxnet3
Guests running on VMware hypervisors supporting vmxnet3 device will thus have
access to improved network functionalities and performance.
Signed-off-by: Shreyas Bhatewara <[email protected]>
Signed-off-by: Bhavesh Davda <[email protected]>
Signed-off-by: Ronghua Zhang <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Vincent Sanders [Tue, 13 Oct 2009 07:03:11 +0000 (00:03 -0700)]
net: Fix IXP 2000 network driver building.
The IXP 2000 network driver was failing to build as it has its own
statistics gathering which was not compatible with the recent network
device operations changes. This patch fixes the driver in the obvious
way and has been compile tested. I have been unable to get the ixp2000
maintainer to comment or test this fix.
Signed-off-by: Vincent Sanders <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Ben Hutchings [Mon, 12 Oct 2009 09:27:07 +0000 (09:27 +0000)]
sfc: 10Xpress: Initialise pause advertising flags
The mdio module now handles reconfiguration of pause advertising
through ethtool, but not initialisation. Add the necessary
initialisation to tenxpress_phy_init().
Signed-off-by: Ben Hutchings <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Ben Hutchings [Mon, 12 Oct 2009 09:26:37 +0000 (09:26 +0000)]
mdio: Expose pause frame advertising flags to ethtool
In mdio45_ethtool_gset_npage() and mdio45_ethtool_gset(), check MDIO
pause frame advertising flags and set the corresponding ethtool flags.
Signed-off-by: Ben Hutchings <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Ben Hutchings [Mon, 12 Oct 2009 09:26:17 +0000 (09:26 +0000)]
mdio: Advertise pause (flow control) settings even if autoneg is off
Currently, if pause autoneg is off we do not set either pause
advertising flag. If autonegotiation of speed and duplex settings is
enabled, there is no way for the link partner to distinguish this from
our refusing to use pause frames.
We should instead set the advertising flags according to the forced
mode so that the link partner can follow our lead. This is consistent
with the behaviour of other drivers.
Signed-off-by: Ben Hutchings <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Anton Vorontsov [Mon, 12 Oct 2009 06:00:42 +0000 (06:00 +0000)]
gianfar: Add support for hibernation
Thanks to various cleanups and refactorings this is now straightforward:
convert the gianfar driver to dev_pm_ops, plus add ->restore() callback
that will fully reinitialize MAC internal registers and BDs.
Note that I kept legacy suspend/resume callbacks so that this patch
doesn't depend on PowerPC changes (i.e. dev_pm_ops support for OF
platform drivers).
Signed-off-by: Anton Vorontsov <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Anton Vorontsov [Mon, 12 Oct 2009 06:00:39 +0000 (06:00 +0000)]
gianfar: Factor out gfar_init_bds() from gfar_alloc_skb_resources()
After hibernation we want to just reinitialize BDs, no need to allocate
anything. So, factor out BDs initialization code from
gfar_alloc_skb_resourses().
Also, teach gfar_init_bds() to reuse already allocated RX SKBs, i.e.
just call gfar_init_rxbdp() if a SKB was already allocated and mapped.
Signed-off-by: Anton Vorontsov <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Anton Vorontsov [Mon, 12 Oct 2009 06:00:37 +0000 (06:00 +0000)]
gianfar: Factor out RX BDs initialization from gfar_new_rxbdp()
We want to just reinitialize RX BDs after hibernation, no need to
map the skb->data again. So let's factor gfar_init_rxbdp() out of
gfar_new_rxbdp().
Signed-off-by: Anton Vorontsov <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Anton Vorontsov [Mon, 12 Oct 2009 06:00:36 +0000 (06:00 +0000)]
gianfar: Move tbase/rbase initialization to gfar_init_mac()
For hibernation we want to call gfar_init_mac() without need to
free/allocate_skb_resources sequence, so save the DMA address into a
private struct, and move tbase/rbase initialization to gfar_init_mac().
Signed-off-by: Anton Vorontsov <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Anton Vorontsov [Mon, 12 Oct 2009 06:00:34 +0000 (06:00 +0000)]
gianfar: Split allocation and initialization steps out of startup_gfar()
Two new functions implemented: gfar_alloc_skb_resources() and
gfar_init_mac(). We'll use gfar_init_mac() for restoring after
hibernation.
The patch just moves the code around, there should be no functional
changes.
Signed-off-by: Anton Vorontsov <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Anton Vorontsov [Mon, 12 Oct 2009 06:00:33 +0000 (06:00 +0000)]
gianfar: Don't needlessly set the wrap bit for the last RX BD
startup_gfar() sets the wrap bit for the last rxbd just after
gfar_new_rxbdp() call, which is issued for all rxbds. And
gfar_new_rxbdp() has the following check already:
if (bdp == priv->rx_bd_base + priv->rx_ring_size - 1)
lstatus |= BD_LFLAG(RXBD_WRAP);
So we don't need to set the bit again.
Signed-off-by: Anton Vorontsov <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Anton Vorontsov [Mon, 12 Oct 2009 06:00:30 +0000 (06:00 +0000)]
gianfar: Simplify skb resources freeing code
Remove dma_free_coherent() from stop_gfar() and gfar_start() calls,
place it into free_skb_resources(). That makes SKB resources management
more understandable, plus free_skb_resources() will be used as a cleanup
routine for gfar_alloc_skb_resources() that will be implemented soon.
Signed-off-by: Anton Vorontsov <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Anton Vorontsov [Mon, 12 Oct 2009 06:00:26 +0000 (06:00 +0000)]
gianfar: Some cleanups for startup_gfar()
We're going to split the startup_gfar() into 3 separate functions,
so let's cleanup the code a little bit so that cosmetic changes
won't distract attention from logical ones.
- Remove needless casts (e.g. (struct sk_buff **)kmalloc());
- Turn 'unsigned long vaddr;' into 'void *vaddr', to avoid casting;
- Add new 'struct device *dev' variable as a shorthand for
'&priv->ofdev->dev' that is used all over the place, also rename
'struct net_device *dev' to 'struct net_device *ndev';
- Turn printk(KERN_ERR ...) to pr_err(...), which is shorter;
- Don't return bogus -1 (i.e. -EPERM) when request_irq() fails;
- Turn '&priv->regs->' to just '®s->'.
Signed-off-by: Anton Vorontsov <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Arnaldo Carvalho de Melo [Tue, 13 Oct 2009 06:40:10 +0000 (23:40 -0700)]
net: Introduce recvmmsg socket syscall
Meaning receive multiple messages, reducing the number of syscalls and
net stack entry/exit operations.
Next patches will introduce mechanisms where protocols that want to
optimize this operation will provide an unlocked_recvmsg operation.
This takes into account comments made by:
. Paul Moore: sock_recvmsg is called only for the first datagram,
sock_recvmsg_nosec is used for the rest.
. Caitlin Bestler: recvmmsg now has a struct timespec timeout, that
works in the same fashion as the ppoll one.
If the underlying protocol returns a datagram with MSG_OOB set, this
will make recvmmsg return right away with as many datagrams (+ the OOB
one) it has received so far.
. Rémi Denis-Courmont & Steven Whitehouse: If we receive N < vlen
datagrams and then recvmsg returns an error, recvmmsg will return
the successfully received datagrams, store the error and return it
in the next call.
This paves the way for a subsequent optimization, sk_prot->unlocked_recvmsg,
where we will be able to acquire the lock only at batch start and end, not at
every underlying recvmsg call.
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
David S. Miller [Tue, 13 Oct 2009 06:18:35 +0000 (23:18 -0700)]
cnic: Need to include net/ip6_checksum.h
drivers/net/cnic.c: In function 'cnic_init_storm_conn_bufs':
drivers/net/cnic.c:1757: error: implicit declaration of function 'csum_ipv6_magic'
Reported-by: Stephen Rothwell <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Valentine Barshak [Mon, 12 Oct 2009 11:25:05 +0000 (04:25 -0700)]
pasemi_mac: ethtool set settings support
Add ethtool set settings to pasemi_mac_ethtool.
Signed-off-by: Valentine Barshak <[email protected]>
Acked-by: Olof Johansson <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Sarveshwar Bandi [Mon, 12 Oct 2009 11:23:15 +0000 (04:23 -0700)]
be2net: Implement ethtool get_phys_id function.
Signed-off-by: Sarveshwar Bandi <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Neil Horman [Mon, 12 Oct 2009 20:26:31 +0000 (13:26 -0700)]
net: Generalize socket rx gap / receive queue overflow cmsg
Create a new socket level option to report number of queue overflows
Recently I augmented the AF_PACKET protocol to report the number of frames lost
on the socket receive queue between any two enqueued frames. This value was
exported via a SOL_PACKET level cmsg. AFter I completed that work it was
requested that this feature be generalized so that any datagram oriented socket
could make use of this option. As such I've created this patch, It creates a
new SOL_SOCKET level option called SO_RXQ_OVFL, which when enabled exports a
SOL_SOCKET level cmsg that reports the nubmer of times the sk_receive_queue
overflowed between any two given frames. It also augments the AF_PACKET
protocol to take advantage of this new feature (as it previously did not touch
sk->sk_drops, which this patch uses to record the overflow count). Tested
successfully by me.
Notes:
1) Unlike my previous patch, this patch simply records the sk_drops value, which
is not a number of drops between packets, but rather a total number of drops.
Deltas must be computed in user space.
2) While this patch currently works with datagram oriented protocols, it will
also be accepted by non-datagram oriented protocols. I'm not sure if thats
agreeable to everyone, but my argument in favor of doing so is that, for those
protocols which aren't applicable to this option, sk_drops will always be zero,
and reporting no drops on a receive queue that isn't used for those
non-participating protocols seems reasonable to me. This also saves us having
to code in a per-protocol opt in mechanism.
3) This applies cleanly to net-next assuming that commit
977750076d98c7ff6cbda51858bb5a5894a9d9ab (my af packet cmsg patch) is reverted
Signed-off-by: Neil Horman <[email protected]>
Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Alan Cox [Mon, 12 Oct 2009 15:27:48 +0000 (16:27 +0100)]
libertas: fix build
drivers/net/wireless/libertas/cmdresp.c: In function ‘lbs_process_event’:
drivers/net/wireless/libertas/cmdresp.c:519: error: ‘TASK_INTERRUPTIBLE’
undeclared (first use in this function)
drivers/net/wireless/libertas/cmdresp.c:519: error: (Each undeclared
identifier is reported only once
drivers/net/wireless/libertas/cmdresp.c:519: error: for each function it
appears in.)
Signed-off-by: Alan Cox <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
Johannes Berg [Sun, 11 Oct 2009 13:10:40 +0000 (15:10 +0200)]
mac80211: document ieee80211_rx() context requirement
ieee80211_rx() must be called with softirqs disabled
since the networking stack requires this for netif_rx()
and some code in mac80211 can assume that it can not
be processing its own tasklet and this call at the same
time.
It may be possible to remove this requirement after a
careful audit of mac80211 and doing any needed locking
improvements in it along with disabling softirqs around
netif_rx(). An alternative might be to push all packet
processing to process context in mac80211, instead of
to the tasklet, and add other synchronisation.
Signed-off-by: Johannes Berg <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
Johannes Berg [Sun, 11 Oct 2009 10:19:21 +0000 (12:19 +0200)]
b43: fix ieee80211_rx() context
Due to the way it interacts with the networking
stack and other parts of mac80211, ieee80211_rx()
must be called with disabled softirqs.
[1] http://thread.gmane.org/gmane.linux.kernel.wireless.general/39440/focus=40266
Reported-by: Dave Young <[email protected]>
Signed-off-by: Johannes Berg <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
Johannes Berg [Sun, 11 Oct 2009 09:47:57 +0000 (11:47 +0200)]
mac80211: fix ibss race
When a scan completes, we call ieee80211_sta_find_ibss(),
which is also called from other places. When the scan was
done in software, there's no problem as both run from the
single-threaded mac80211 workqueue and are thus serialised
against each other, but with hardware scan the completion
can be in a different context and race against callers of
this function from the workqueue (e.g. due to beacon RX).
So instead of calling ieee80211_sta_find_ibss() directly,
just arm the timer and have it fire, scheduling the work,
which will invoke ieee80211_sta_find_ibss() (if that is
appropriate in the current state).
Signed-off-by: Johannes Berg <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
Felix Fietkau [Sun, 11 Oct 2009 03:21:10 +0000 (05:21 +0200)]
mac80211: fix logic error ibss merge bssid check
Signed-off-by: Felix Fietkau <[email protected]>
Acked-by: Johannes Berg <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
Wey-Yi Guy [Fri, 9 Oct 2009 20:20:17 +0000 (13:20 -0700)]
iwlwifi: change the order of freeing memory
Need to free the dynamic allocated memory before ieee80211_free_hw();
once call ieee80211_free_hw(), should not reference to "priv" data
structure.
Signed-off-by: Wey-Yi Guy <[email protected]>
Signed-off-by: Reinette Chatre <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
Ben Hutchings [Mon, 12 Oct 2009 11:18:48 +0000 (04:18 -0700)]
acenic: Pass up error code from ace_load_firmware()
If ace_load_firmware() fails, ace_init() cleans up but still returns
0, leading to an oops as seen in <http://bugs.debian.org/521383>.
It should pass the error code up.
Signed-off-by: Ben Hutchings <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
David S. Miller [Mon, 12 Oct 2009 10:00:31 +0000 (03:00 -0700)]
Revert "af_packet: add interframe drop cmsg (v6)"
This reverts commit
977750076d98c7ff6cbda51858bb5a5894a9d9ab.
Neil is reimplementing this generically, outside of AF_PACKET.
Signed-off-by: David S. Miller <[email protected]>
YOSHIFUJI Hideaki / 吉藤英明 [Sun, 11 Oct 2009 03:45:13 +0000 (03:45 +0000)]
ipv6 sit: Set relay to 0.0.0.0 directly if relay_prefixlen == 0.
ipv6 sit: Set relay to 0.0.0.0 directly if relay_prefixlen == 0.
Do not use bit-shift if relay_prefixlen == 0;
relay_prefix << 32 does not result in 0.
Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
YOSHIFUJI Hideaki / 吉藤英明 [Sun, 11 Oct 2009 03:44:45 +0000 (03:44 +0000)]
ipv6 sit: Fix 6rd relay address.
ipv6 sit: Fix 6rd relay address.
Relay's address should be extracted from real IPv6 address
instead of configured prefix.
Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
YOSHIFUJI Hideaki / 吉藤英明 [Sun, 11 Oct 2009 03:31:34 +0000 (03:31 +0000)]
ipv6 sit: Ensure to initialize 6rd parameters.
ipv6 sit: Ensure to initialize 6rd parameters.
Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Michael Chan [Sat, 10 Oct 2009 13:46:59 +0000 (13:46 +0000)]
cnic: Add main functions to support bnx2x devices.
Add iSCSI support for bnx2x devices.
Signed-off-by: Michael Chan <[email protected]>
Signed-off-by: Shmulik Ravid - Rabinovitz <[email protected]>
Acked-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Michael Chan [Sat, 10 Oct 2009 13:46:58 +0000 (13:46 +0000)]
cnic: Add bnx2x data structures.
Add hardware and software structures for bnx2x devices.
Signed-off-by: Michael Chan <[email protected]>
Acked-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Michael Chan [Sat, 10 Oct 2009 13:46:57 +0000 (13:46 +0000)]
cnic: Refactor some code.
Refactor ring init. code for subsequent 10G patches. Also add rtnl_lock()
in cnic_uio_open() to prevent race condition with netdev events.
Signed-off-by: Michael Chan <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Michael Chan [Sat, 10 Oct 2009 13:46:56 +0000 (13:46 +0000)]
bnx2x: Add main CNIC interface functions.
Add the main CNIC registration, callback, MAC addr. setup functions.
Signed-off-by: Michael Chan <[email protected]>
Signed-off-by: Shmulik Ravid - Rabinovitz <[email protected]>
Acked-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Michael Chan [Sat, 10 Oct 2009 13:46:55 +0000 (13:46 +0000)]
bnx2x: Add hw init code to support iSCSI.
Add code to initialize hardware blocks used for iSCSI.
Signed-off-by: Michael Chan <[email protected]>
Signed-off-by: Shmulik Ravid - Rabinovitz <[email protected]>
Acked-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Michael Chan [Sat, 10 Oct 2009 13:46:54 +0000 (13:46 +0000)]
bnx2x: Refactor MAC address setup code.
For iSCSI MAC address setup in later patches.
Signed-off-by: Shmulik Ravid - Rabinovitz <[email protected]>
Signed-off-by: Michael Chan <[email protected]>
Acked-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Michael Chan [Sat, 10 Oct 2009 13:46:53 +0000 (13:46 +0000)]
bnx2x: Refactor bnx2x_sp_post().
Some of the SPQ (slow-path queue) operations will be used
by the cnic code in later patches.
Signed-off-by: Shmulik Ravid - Rabinovitz <[email protected]>
Signed-off-by: Michael Chan <[email protected]>
Acked-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Ron Mercer [Sat, 10 Oct 2009 09:35:10 +0000 (09:35 +0000)]
qlge: Add CBFC pause frame counters to ethtool stats.
Signed-off-by: Ron Mercer <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Ron Mercer [Sat, 10 Oct 2009 09:35:09 +0000 (09:35 +0000)]
qlge: Don't fail open when port is not initialized.
Signed-off-by: Ron Mercer <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Ron Mercer [Sat, 10 Oct 2009 09:35:08 +0000 (09:35 +0000)]
qlge: Get rid of firmware handler debug code.
Signed-off-by: Ron Mercer <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Ron Mercer [Sat, 10 Oct 2009 09:35:07 +0000 (09:35 +0000)]
qlge: Remove inline math for small rx buf mapping.
rx_ring->sbq_buf_len now holds the length of the mapped portion of the
buffer rather than the overall length.
Signed-off-by: Ron Mercer <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Ron Mercer [Sat, 10 Oct 2009 09:35:06 +0000 (09:35 +0000)]
qlge: Store firmware revision as early as possible.
Signed-off-by: Ron Mercer <[email protected]>
Signed-off-by: David S. Miller <[email protected]>