16 Feb, 2010

9 commits

  • Observed similar behavior on SPD as previouly seen on SAD flushing..
    This fixes it.

    cheers,
    jamal
    commit 428b20432dc31bc2e01a94cd451cf5a2c00d2bf4
    Author: Jamal Hadi Salim
    Date: Thu Feb 11 05:49:38 2010 -0500

    xfrm: Flushing empty SPD generates false events

    To see the effect make sure you have an empty SPD.
    On window1 "ip xfrm mon" and on window2 issue "ip xfrm policy flush"
    You get prompt back in window1 and you see the flush event on window2.
    With this fix, you still get prompt on window1 but no event on window2.

    Signed-off-by: Jamal Hadi Salim

    Signed-off-by: David S. Miller

    jamal
     
  • To see the effect make sure you have an empty SAD.
    -On window1 "ip xfrm mon"
    -on window2 issue "ip xfrm state flush"
    You get prompt back in window1
    and you see the flush event on window2.
    With this fix, you still get prompt on window1 but no
    event on window2.

    I was tempted to return -ESRCH on window1 (which would
    show "RTNETLINK answers: No such process") but didnt want
    to change current behavior.

    cheers,
    jamal
    commit 5f3dd4a772326166e1bcf54acc2391df00dc7ab5
    Author: Jamal Hadi Salim
    Date: Thu Feb 11 04:41:36 2010 -0500

    xfrm: Flushing empty SAD generates false events

    To see the effect make sure you have an empty SAD.
    On window1 "ip xfrm mon" and on window2 issue "ip xfrm state flush"
    You get prompt back in window1 and you see the flush event on window2.
    With this fix, you still get prompt on window1 but no event on window2.

    Signed-off-by: Jamal Hadi Salim

    Signed-off-by: David S. Miller

    jamal
     
  • When no more memory can be allocated, fq_find() will return NULL and
    increase the value of IPSTATS_MIB_REASMFAILS. In this case,
    ipv6_frag_rcv() also increase the value of IPSTATS_MIB_REASMFAILS.

    So, the patch deletes redundant counter of IPSTATS_MIB_REASMFAILS in fq_find().
    and deletes the unused parameter of idev.

    Signed-off-by: Shan Wei
    Signed-off-by: David S. Miller

    Shan Wei
     
  • The RCU usage in the original code was broken because
    there are cases where we possibly sleep with rcu_read_lock
    held. As a fix, change the macvtap_file_get_queue to
    get a reference on the socket and the netdev instead of
    taking the full rcu_read_lock.

    Also, change macvtap_file_get_queue failure case to
    not require a subsequent macvtap_file_put_queue, as
    pointed out by Ed Swierk.

    Signed-off-by: Arnd Bergmann
    Cc: Ed Swierk
    Cc: Sridhar Samudrala
    Acked-by: Sridhar Samudrala
    Acked-by: Ed Swierk
    Signed-off-by: David S. Miller

    Arnd Bergmann
     
  • The driver is expected to report that the link is up
    when the phy Rx signal is established and the mac
    has not detected a link fault.
    The code is however broken, the driver does not check the link fault
    status when the phy link status changes.
    The link fault status being checked within a short period of time,
    it leads to link up/link down events.

    Signed-off-by: Divy Le Ray
    Signed-off-by: David S. Miller

    Divy Le Ray
     
  • The mac is expected to auto-inflate the Maximum Frame size for VLAN
    tagged frames. It however does not work with jumbo frames.
    Work around the bug adding 4 to the Maximum Frame for MTUs
    greater than 1536.

    Signed-off-by: Divy Le Ray
    Signed-off-by: David S. Miller

    Divy Le Ray
     
  • The recent n-tuple patches added some comments to the headers
    of the Flow Director functions that aren't accurate. This
    cleans them up, and is a purely cosmetic patch.

    Signed-off-by: Peter P Waskiewicz Jr
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Peter Waskiewicz
     
  • set_flags should check if the underlying device supports
    n-tuple filter programming before setting the device flags
    on the netdevice.

    Signed-off-by: Peter P Waskiewicz Jr
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Peter Waskiewicz
     
  • We can allow a filter to be added successfully to the underlying
    hardware, but still return an error if the cached list memory
    allocation fails. This patch fixes that condition.

    Signed-off-by: Peter P Waskiewicz Jr
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Peter Waskiewicz
     

15 Feb, 2010

9 commits


13 Feb, 2010

22 commits

  • This patch updates the tg3 version to 3.107.

    Signed-off-by: Matt Carlson
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • The AC131 does not enable the forced transmit clock settings
    immediately. The workaround is to read the register again to get the
    setting to take effect.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Reviewed-by: Benjamin Li
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • The 57765 lacks TSS support. This renders the napi assignments
    incorrect in the loopback test function. This patch fixes the problem.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Reviewed-by: Benjamin Li
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • The driver puts the phy into low-power mode when it releases the device.
    If the device were to be reacquired, the phy needs a reset to bring it
    back to full powered operation. This patch allows phylib-enabled
    devices to reset the phy.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Reviewed-by: Benjamin Li
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • The 5717's DMA read engine has a bug when initiating multiple DMA reads
    across the PCIe bus. This patch disables the feature.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Reviewed-by: Benjamin Li
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • On A0 revision of 57765 asic rev devices, the bootcode will perform some
    hardware operations, after the magic signature is presented, that will
    collide with setup operations performed by the driver. The best way to
    avoid the contention is to have the driver delay an additional 10
    milliseconds. B0 revisions of the chip will make this workaround
    unnecessary.

    Signed-off-by: Matt Carlson
    Signed-off-by: Benjamin Li
    Reviewed-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • The previous patch changed the code so that new rx buffer submissions to
    the hardware stall if a new submission would overwrite data needed by an
    unserviced rx packet. On very busy 5717 and 57765 asic rev devices,
    there is a corner case where the hardware will fail to assert an MSI-X
    interrupt for rx traffic. If that vector's interrupt never has another
    reason to assert, any rx buffers held will never be serviced. If the
    buffers are never serviced and the hardware consumes all the available
    rx packets for other rx rings, deadlock will result.

    The most reliable and least intrusive way to work around the problem is
    to detect the case where new submissions would overwrite existing data
    and force all rx interrupt vectors to fire.

    Signed-off-by: Matt Carlson
    Reviewed-by: Michael Chan
    Reviewed-by: Benjamin Li
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • When operating in RSS mode, it is possible for one rx return ring to
    submit enough rx buffers back to the hardware such that it inadvertently
    overwrites data needed by another rx return ring. This patch addresses
    the problem by looking for non-NULL skb pointers in the
    rx_[std|jmb]_buffers rings that parallel the rx producer rings.

    Signed-off-by: Matt Carlson
    Signed-off-by: Michael Chan
    Reviewed-by: Benjamin Li
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • RSS ring 1 is responsible for submitting new rx buffers to the
    hardware on behalf of all the other RSS rx return rings. Up until now
    this ring submitted its new rx buffers to the producer ring directly.
    The following patch will require that this ring have a place to put
    backlogged rx packets. As a consequence, it can no longer submit new
    buffers to the producer ring.

    This patch adds code to allocate an extra shadow producer ring for this
    RSS ring and adds RSS ring 1 to the list of rings needing buffer
    transfers.

    Signed-off-by: Matt Carlson
    Signed-off-by: Michael Chan
    Reviewed-by: Benjamin Li
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • Add support to the igb driver for VF configuration mechanisms through the
    PF interface.

    Signed-off-by: Mitch Williams
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Williams, Mitch A
     
  • Add code to allow rtnetlink clients to query and set VF information through
    the PF driver.
    Signed-off-by: Mitch Williams
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Williams, Mitch A
     
  • Add netdev ops for configuring SR-IOV VF devices through the PF driver.

    Signed-off-by: Mitch Williams
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Williams, Mitch A
     
  • Add SR-IOV VF management methods to IFLA_LINKINFO. This allows userspace to
    use rtnetlink to configure VF network devices.

    Signed-off-by: Mitch Williams
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Williams, Mitch A
     
  • Add and export pci_num_vf to allow other subsystems to determine how many
    virtual function devices are associated with an SR-IOV physical function
    device.
    Add macros dev_is_pci, dev_is_ps, and dev_num_vf to make it easier for
    non-PCI specific code to determine SR-IOV capabilities.

    Signed-off-by: Mitch Williams
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Williams, Mitch A
     
  • The variable 'copied' is used in udp_recvmsg() to emphasize that the passed
    'len' is adjusted to fit the actual datagram length. But the same can be
    done by adjusting 'len' directly. This patch thus removes the indirection.

    Signed-off-by: Gerrit Renker
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • DCCP is datagram-oriented but lacks UDP's support for MSG_TRUNC as defined in
    recvmsg(2)/recv(2). Hence the following 'Hello world\0' receiver

    len = recv(fd, buf, 10, MSG_PEEK | MSG_TRUNC);

    wrongly (always) returns 10, while in UDP it returns 12 as expected.
    This patch adds the missing MSG_TRUNC support to recvmsg().

    Signed-off-by: Gerrit Renker
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    stephen hemminger
     
  • Rewrite sky2_reset to work with interrupts disabled and
    avoid freeing and reallocing memory.

    The old code used sky2_down and sky2_up to implement sky2_reset,
    which meant interrupts could not be disabled, and the transmit and
    receive ring buffers would be free'd and reallocated.

    To avoid the interrupt handler waking the transmit queue while
    we're doing a reset, it's better to have interrupts and NAPI
    polls disabled.

    Note: Modified Mike's patch to do IRQ disable in sky2_down before
    calling sky2_hw_down - Stephen

    Signed-off-by: Mike McCormack
    Acked-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Mike McCormack
     
  • Create a sky2_hw_down that brings the hardware down.

    Signed-off-by: Mike McCormack
    Acked-by: Stephen Hemminber
    Signed-off-by: David S. Miller

    Mike McCormack
     
  • Move hardware initialization into sky2_hw_up.

    Signed-off-by: Mike McCormack
    Acked-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Mike McCormack
     
  • Allocate everything in one place so there's a single point
    of failure in sky2_up, and sky2_rx_start can no longer fail.

    Don't leave the hardware in a partially initialized state in the
    case rx ring allocation fails.

    As with the old code, the rx ring still needs to be fully
    allocated for sky2_up to succeed.

    Signed-off-by: Mike McCormack
    Acked-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Mike McCormack
     
  • Move code to calculate receive threshold and packet size out of
    sky2_rx_start() so that is can be called from elsewhere easily.

    Signed-off-by: Mike McCormack
    Acked-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Mike McCormack