07 Oct, 2009

7 commits


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 type

    Signed-off-by: Stephen Boyd
    Signed-off-by: David S. Miller

    Stephen Boyd
     

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/0x4c

    Fix 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

    Johannes Berg
     
  • 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

    Ajit Khaparde
     
  • 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

    Ken Kawasaki
     
  • 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

    Ben Hutchings
     
  • 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

    Eric Dumazet
     
  • 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

    Eric Dumazet
     
  • 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

    Alexander Duyck
     
  • 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

    Don Skidmore
     
  • 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

    Don Skidmore
     

03 Oct, 2009

12 commits


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

    Atis Elsts
     
  • 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 registered

    The 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:00

    Signed-off-by: Stephen Hemminger
    Reviewed-by: Michal Schmidt
    Signed-off-by: David S. Miller

    Stephen Hemminger
     
  • 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, eth0

    irqbalance 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

    Michal Schmidt
     
  • 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

    Ori Finkelman
     
  • net/ipv4/tcp.c: In function 'do_tcp_setsockopt':
    net/ipv4/tcp.c:2050: warning: comparison of distinct pointer types lacks a cast

    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Andrew Morton
     
  • Remove references to dead web site mosquitonet.Stanford.EDU.

    Signed-off-by: Ralf Baechle
    Signed-off-by: David S. Miller

    Ralf Baechle
     
  • 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

    Ralf Baechle
     
  • 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

    Eric Dumazet
     
  • 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

    Uwe Kleine-König
     
  • 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

    Uwe Kleine-König
     
  • 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

    Uwe Kleine-König