07 Oct, 2009
7 commits
-
- Note that send_message() may be called in interrupt context.
- Describe the storage of CAPI messages and payload data in SKBs.
- Add more details to the description of the _cmsg structure.
- Describe kernelcapi debugging output.Impact: documentation
Signed-off-by: Tilman Schmidt
Signed-off-by: David S. Miller -
This is a fix for a bug which was a result of wrong use of checksum offload flag.
The status of tx-checksumming was not changed from on to off
after a 'ethtool -K tx off' operation.
Use the proper checksum offload flag NETIF_F_HW_CSUM instead of
NETIF_F_IP_CSUM and NETIF_F_IPV6_CSUM.
Patch is against net-2.6 tree.Signed-off-by: Ajit Khaparde
Signed-off-by: David S. Miller -
MCC_STATUS_NOT_SUPPORTED should be decimal 66 not hex 66.
This patch fixes this typo. Patch against net-2.6 tree.Signed-off-by: Ajit Khaparde
Signed-off-by: David S. Miller -
While updating the statistics to be passed via the get_stats,
tx multicast frames were being accounted instead of rx multicast frames.
This patch fixes the bug. This patch is against the net-2.6 tree.Signed-off-by: Ajit Khaparde
Signed-off-by: David S. Miller -
Get rid of spinlock and private mutex usage for exclusive access to the
HW semaphore register. rtnl_lock already creates exclusive access to
this register in all driver API.
Add rtnl to firmware worker threads that also use the HW semaphore register.Signed-off-by: Ron Mercer
Signed-off-by: David S. Miller -
Check that we are not already polling firmware events before we queue the
firmware event worker, then disable firmware interrupts.
Otherwise we can queue the same event multiple times.Signed-off-by: Ron Mercer
Signed-off-by: David S. Miller -
Signed-off-by: Ron Mercer
Signed-off-by: David S. Miller
06 Oct, 2009
1 commit
-
Commit 7069331 (connector: Provide the sender's credentials to the
callback, 2009-10-02) changed callbacks to take two arguments but missed
this one.drivers/connector/cn_proc.c: In function ‘cn_proc_init’:
drivers/connector/cn_proc.c:263: warning: passing argument 3 of
‘cn_add_callback’ from incompatible pointer typeSigned-off-by: Stephen Boyd
Signed-off-by: David S. Miller
05 Oct, 2009
9 commits
-
A number of drivers (recently including cfg80211-based ones)
assume that all wireless handlers, including statistics, can
sleep and they often also implicitly assume that the rtnl is
held around their invocation. This is almost always true now
except when reading from sysfs:BUG: sleeping function called from invalid context at kernel/mutex.c:280
in_atomic(): 1, irqs_disabled(): 0, pid: 10450, name: head
2 locks held by head/10450:
#0: (&buffer->mutex){+.+.+.}, at: [] sysfs_read_file+0x24/0xf4
#1: (dev_base_lock){++.?..}, at: [] wireless_show+0x1a/0x4c
Pid: 10450, comm: head Not tainted 2.6.32-rc3 #1
Call Trace:
[] __might_sleep+0xf0/0xf7
[] mutex_lock_nested+0x1a/0x33
[] wdev_lock+0xd/0xf [cfg80211]
[] cfg80211_wireless_stats+0x45/0x12d [cfg80211]
[] get_wireless_stats+0x16/0x1c
[] wireless_show+0x2a/0x4cFix this by using the rtnl instead of dev_base_lock.
Reported-by: Miles Lane
Signed-off-by: Johannes Berg
Signed-off-by: David S. Miller -
This patch fixes a bug that got introduced in commit 76998bc7.
During preparation of mcc wrb, req was being wrongly overwritten
and the flash operation was failing.Signed-off-by: Ajit Khaparde
Signed-off-by: David S. Miller -
pcnet_cs,serial_cs:
add cis of National Semicondoctor's lan&modem mulitifunction pcmcia card,
NE2K, tamarack ethernet card,
and some serial card(COMpad2, COMpad4).Signed-off-by: Ken Kawasaki
Signed-off-by: David S. Miller -
The following user-space program fails to compile:
#include
#include
int main() { return 0; }The reason is that tests __GLIBC__ to decide whether it
should define various structures and macros that are now defined for
user-space by , but __GLIBC__ is not defined if no libc
headers have yet been included.It seems safe to drop support for libc 5 now.
Signed-off-by: Ben Hutchings
Signed-off-by: Bastian Blank
Signed-off-by: David S. Miller -
Commit fd29cf72 (pktgen: convert to use ktime_t)
inadvertantly converted "delay" parameter from nanosec to microsec.Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller -
It is not currently possible to instruct pktgen to use one selected tx queue.
When Robert added multiqueue support in commit 45b270f8, he added
an interval (queue_map_min, queue_map_max), and his code doesnt take
into account the case of min = max, to select one tx queue exactly.I suspect a high performance setup on a eight txqueue device wants
to use exactly eight cpus, and assign one tx queue to each sender.This patchs makes pktgen select the right tx queue, not the first one.
Also updates Documentation to reflect Robert changes.
Signed-off-by: Eric Dumazet
Signed-off-by: Robert Olsson
Signed-off-by: David S. Miller -
There appears to have been a mixup in the max supported jumbo frame size
between 82574 and 82583 which ended up disabling jumbo frames on the 82574
as a result. This patch swaps the two so that this issue is resolved.This patch fixes http://bugzilla.kernel.org/show_bug.cgi?id=14261
Signed-off-by: Alexander Duyck
Signed-off-by: Jeff Kirsher
Signed-off-by: David S. Miller -
This patch adds device support for the 82599 based X520 10GbE
Dual Port KX4 Mezzanine card.Signed-off-by: Don Skidmore
Acked-by: Peter P Waskiewicz Jr
Signed-off-by: Jeff Kirsher
Signed-off-by: David S. Miller -
This patch will add support for the 82599 Dual port Backplane
device (0x10f8). This device has the ability to link in serial (KR) and
parallel (KX4/KX) modes, depending on what the switch capabilities are in
the blade chassis.Signed-off-by: Don Skidmore
Acked-by: Peter P Waskiewicz Jr
Signed-off-by: Jeff Kirsher
Signed-off-by: David S. Miller
03 Oct, 2009
12 commits
-
This fixes the problem of not handling the NETDEV_UP event properly
during hot-plug or modprobe of bnx2 after cnic. The handling was
skipped by mistakenly using "else if" to check for the event.Also update version to 2.0.1.
Signed-off-by: Michael Chan
Signed-off-by: Benjamin Li
Signed-off-by: David S. Miller -
Signed-off-by: Philipp Reisner
Signed-off-by: David S. Miller -
Signed-off-by: Philipp Reisner
Signed-off-by: David S. Miller -
Signed-off-by: Philipp Reisner
Signed-off-by: David S. Miller -
Signed-off-by: Philipp Reisner
Signed-off-by: David S. Miller -
Signed-off-by: Philipp Reisner
Acked-by: Lars Ellenberg
Acked-by: Evgeniy Polyakov
Signed-off-by: David S. Miller -
Signed-off-by: Philipp Reisner
Acked-by: Lars Ellenberg
Acked-by: Evgeniy Polyakov
Signed-off-by: David S. Miller -
Signed-off-by: Philipp Reisner
Acked-by: Lars Ellenberg
Acked-by: Evgeniy Polyakov
Signed-off-by: David S. Miller -
Signed-off-by: Philipp Reisner
Acked-by: Lars Ellenberg
Acked-by: Evgeniy Polyakov
Signed-off-by: David S. Miller -
The only error returned by pci_{en,dis}able_pcie_error_reporting() is
-EIO which simply means that Advanced Error Reporting is not supported.
There is no need to report that, so remove the error check from e1000e,
igb and ixgbe.Signed-off-by: Frans Pop
Signed-off-by: Jeff Kirsher
Signed-off-by: David S. Miller -
Which is why I have always preferred sizeof(struct foo) over
sizeof(var).Signed-off-by: Jean Delvare
Acked-by: Randy Dunlap
Signed-off-by: David S. Miller -
tcp_splice_read() doesnt take into account socket's O_NONBLOCK flag
Before this patch :
splice(socket,0,pipe,0,128*1024,SPLICE_F_MOVE);
causes a random endless block (if pipe is full) and
splice(socket,0,pipe,0,128*1024,SPLICE_F_MOVE | SPLICE_F_NONBLOCK);
will return 0 immediately if the TCP buffer is empty.User application has no way to instruct splice() that socket should be in blocking mode
but pipe in nonblock more.Many projects cannot use splice(tcp -> pipe) because of this flaw.
http://git.samba.org/?p=samba.git;a=history;f=source3/lib/recvfile.c;h=ea0159642137390a0f7e57a123684e6e63e47581;hb=HEAD
http://lkml.indiana.edu/hypermail/linux/kernel/0807.2/0687.htmlLinus introduced SPLICE_F_NONBLOCK in commit 29e350944fdc2dfca102500790d8ad6d6ff4f69d
(splice: add SPLICE_F_NONBLOCK flag )It doesn't make the splice itself necessarily nonblocking (because the
actual file descriptors that are spliced from/to may block unless they
have the O_NONBLOCK flag set), but it makes the splice pipe operations
nonblocking.Linus intention was clear : let SPLICE_F_NONBLOCK control the splice pipe mode only
This patch instruct tcp_splice_read() to use the underlying file O_NONBLOCK
flag, as other socket operations do.Users will then call :
splice(socket,0,pipe,0,128*1024,SPLICE_F_MOVE | SPLICE_F_NONBLOCK );
to block on data coming from socket (if file is in blocking mode),
and not block on pipe output (to avoid deadlock)First version of this patch was submitted by Octavian Purdila
Reported-by: Volker Lendecke
Reported-by: Jason Gunthorpe
Signed-off-by: Eric Dumazet
Signed-off-by: Octavian Purdila
Acked-by: Linus Torvalds
Acked-by: Jens Axboe
Signed-off-by: David S. Miller
02 Oct, 2009
11 commits
-
This patch against v2.6.31 adds support for route lookup using sk_mark in some
more places. The benefits from this patch are the following.
First, SO_MARK option now has effect on UDP sockets too.
Second, ip_queue_xmit() and inet_sk_rebuild_header() could fail to do routing
lookup correctly if TCP sockets with SO_MARK were used.Signed-off-by: Atis Elsts
Acked-by: Eric Dumazet -
This is based on Michal Schmidt fix for skge.
Most network drivers request their IRQ when the interface is activated.
sky2 does it in ->probe() instead, because it can work with two-port
cards where the two net_devices use the same IRQ. This works fine most
of the time, except in some situations when the interface gets renamed.
Consider this example:1. modprobe sky2
The card is detected as eth0 and requests IRQ 17. Directory
/proc/irq/17/eth0 is created.
2. There is an udev rule which says this interface should be called
eth1, so udev renames eth0 -> eth1.
3. modprobe 8139too
The Realtek card is detected as eth0. It will be using IRQ 17 too.
4. ip link set eth0 up
Now 8139too requests IRQ 17.The result is:
WARNING: at fs/proc/generic.c:590 proc_register ...
proc_dir_entry '17/eth0' already registeredThe fix is for sky2 to name the irq based on the pci device, as is done
by some other devices DRM, infiniband, ... ie. sky2@pci:0000:00:00Signed-off-by: Stephen Hemminger
Reviewed-by: Michal Schmidt
Signed-off-by: David S. Miller -
Most network drivers request their IRQ when the interface is activated.
skge does it in ->probe() instead, because it can work with two-port
cards where the two net_devices use the same IRQ. This works fine most
of the time, except in some situations when the interface gets renamed.
Consider this example:1. modprobe skge
The card is detected as eth0 and requests IRQ 17. Directory
/proc/irq/17/eth0 is created.
2. There is an udev rule which says this interface should be called
eth1, so udev renames eth0 -> eth1.
3. modprobe 8139too
The Realtek card is detected as eth0. It will be using IRQ 17 too.
4. ip link set eth0 up
Now 8139too requests IRQ 17.The result is:
WARNING: at fs/proc/generic.c:590 proc_register ...
proc_dir_entry '17/eth0' already registered
...
And "ls /proc/irq/17" shows two subdirectories, both called eth0.Fix it by using a unique name for skge's IRQ, based on the PCI address.
The naming from the example then looks like this:
$ grep skge /proc/interrupts
17: 169 IO-APIC-fasteoi skge@pci:0000:00:0a.0, eth0irqbalance daemon will have to be taught to recognize "skge@" as an
Ethernet interrupt. This will be a one-liner addition in classify.c. I
will send a patch to irqbalance if this change is accepted.Signed-off-by: Michal Schmidt
Acked-by: Stephen Hemminger
Signed-off-by: David S. Miller -
Acknowledge TCP window scale support by inserting the proper option in SYN/ACK
and SYN headers even if our window scale is zero.This fixes the following observed behavior:
1. Client sends a SYN with TCP window scaling option and non zero window scale
value to a Linux box.
2. Linux box notes large receive window from client.
3. Linux decides on a zero value of window scale for its part.
4. Due to compare against requested window scale size option, Linux does not to
send windows scale TCP option header on SYN/ACK at all.With the following result:
Client box thinks TCP window scaling is not supported, since SYN/ACK had no
TCP window scale option, while Linux thinks that TCP window scaling is
supported (and scale might be non zero), since SYN had TCP window scale
option and we have a mismatched idea between the client and server
regarding window sizes.Probably it also fixes up the following bug (not observed in practice):
1. Linux box opens TCP connection to some server.
2. Linux decides on zero value of window scale.
3. Due to compare against computed window scale size option, Linux does
not to set windows scale TCP option header on SYN.With the expected result that the server OS does not use window scale option
due to not receiving such an option in the SYN headers, leading to suboptimal
performance.Signed-off-by: Gilad Ben-Yossef
Signed-off-by: Ori Finkelman
Acked-by: Eric Dumazet
Signed-off-by: David S. Miller -
net/ipv4/tcp.c: In function 'do_tcp_setsockopt':
net/ipv4/tcp.c:2050: warning: comparison of distinct pointer types lacks a castSigned-off-by: Andrew Morton
Signed-off-by: David S. Miller -
Remove references to dead web site mosquitonet.Stanford.EDU.
Signed-off-by: Ralf Baechle
Signed-off-by: David S. Miller -
This typo was introduced by 5793f4be23f0171b4999ca68a39a9157b44139f3 on
October 14, 2005 ...Reported-by: Matti Aarnio
Signed-off-by: Ralf Baechle
Signed-off-by: David S. Miller -
prev_vlan_tag field is not used.
Patch saves 512*8 bytes per tx queue ring on 64bit arches.
Signed-off-by: Eric Dumazet
Acked-by: Matthew Carlson -
The function virtnet_remove is used only wrapped by __devexit_p so define
it using __devexit.Signed-off-by: Uwe Kleine-König
Acked-by: Sam Ravnborg
Cc: David S. Miller
Cc: Rusty Russell
Cc: Alex Williamson
Cc: Mark McLoughlin
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: David S. Miller -
The function sgiseeq_remove is defined using __exit, so don't use
__devexit_p but __exit_p to wrap it.Signed-off-by: Uwe Kleine-König
Cc: David S. Miller
Cc: Wang Chen
Cc: Ralf Baechle
Cc: Patrick McHardy
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: David S. Miller -
The function meth_remove is defined using __exit, so don't use __devexit_p
but __exit_p to wrap it.Signed-off-by: Uwe Kleine-König
Cc: David S. Miller
Cc: Ralf Baechle
Cc: Patrick McHardy
Cc: Johannes Berg
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: David S. Miller