27 Oct, 2011

11 commits


18 Oct, 2011

1 commit


17 Oct, 2011

4 commits

  • Private rx_csum flags are now duplicate of netdev->features & NETIF_F_RXCSUM.
    Removing this needs deeper surgery.

    Things noticed:
    - HW VLAN acceleration probably can be toggled, but it's left as is
    - the resets on RX csum offload change can probably be avoided
    - there is A LOT of copy-and-pasted code here

    Signed-off-by: Michał Mirosław
    Signed-off-by: Jeff Kirsher

    Michał Mirosław
     
  • When enabling hardware timestamping for ptp v2 event packets, the
    software does not setup the queue for l4 packets, although layer 4
    packets are valid for v2. This patch adds the flag which enables
    setting up a queue and enabling udp packet timestamping.

    Signed-off-by: Jacob E Keller
    Tested-by: Aaron Brown
    Signed-off-by: Jeff Kirsher

    Jacob Keller
     
  • Implements the new netdev op to allow user configuration of spoof
    checking on a per VF basis.

    V2 - Change netdev spoof check op setting to bool

    Signed-off-by: Greg Rose
    Signed-off-by: Jeff Kirsher

    Greg Rose
     
  • Add configuration setting for drivers to turn spoof checking on or off
    for discrete VFs.

    v2 - Fix indentation problem, wrap the ifla_vf_info structure in
    #ifdef __KERNEL__ to prevent user space from accessing and
    change function paramater for the spoof check setting netdev
    op from u8 to bool.
    v3 - Preset spoof check setting to -1 so that user space tools such
    as ip can detect that the driver didn't report a spoofcheck
    setting. Prevents incorrect display of spoof check settings
    for drivers that don't report it.

    Signed-off-by: Greg Rose
    Signed-off-by: Jeff Kirsher

    Greg Rose
     

16 Oct, 2011

1 commit

  • Commit 67fd4fcb (e1000e: convert to stats64) added the ability to update
    statistics more accurately and on-demand through the net_device_ops
    .ndo_get_stats64 hook, but introduced a locking bug on 82577/8/9 when
    linked at half-duplex (seen on kernels with CONFIG_DEBUG_ATOMIC_SLEEP=y and
    CONFIG_PROVE_LOCKING=y). The commit introduced code paths that caused a
    mutex to be locked in atomic contexts, e.g. an rcu_read_lock is held when
    irqbalance reads the stats from /sys/class/net/ethX/statistics causing the
    mutex to be locked to read the Phy half-duplex statistics registers.

    The mutex was originally introduced to prevent concurrent accesses of
    resources (the NVM and Phy) shared by the driver, firmware and hardware
    a few years back when there was an issue with the NVM getting corrupted.
    It was later split into two mutexes - one for the NVM and one for the Phy
    when it was determined the NVM, unlike the Phy, should not be protected by
    the software/firmware/hardware semaphore (arbitration of which is done in
    part with the SWFLAG bit in the EXTCNF_CTRL register). This latter
    semaphore should be sufficient to prevent resource contention of the Phy in
    the driver (i.e. the mutex for Phy accesses is not needed), but to be sure
    the mutex is replaced with an atomic bit flag which will warn if any
    contention is possible.

    Also add additional debug output to help determine when the sw/fw/hw
    semaphore is owned by the firmware or hardware.

    Signed-off-by: Bruce Allan
    Reported-by: Francois Romieu
    Tested-by: Jeff Pieper

    Bruce Allan
     

15 Oct, 2011

23 commits