15 Oct, 2013

1 commit

  • Pull infiniband updates from Roland Dreier:
    "Last batch of IB changes for 3.12: many mlx5 hardware driver fixes
    plus one trivial semicolon cleanup"

    * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    IB: Remove unnecessary semicolons
    IB/mlx5: Ensure proper synchronization accessing memory
    IB/mlx5: Fix alignment of reg umr gather buffers
    IB/mlx5: Fix eq names to display nicely in /proc/interrupts
    mlx5: Fix error code translation from firmware to driver
    IB/mlx5: Fix opt param mask according to firmware spec
    mlx5: Fix opt param mask for sq err to rts transition
    IB/mlx5: Disable atomic operations
    mlx5: Fix layout of struct mlx5_init_seg
    mlx5: Keep polling to reclaim pages while any returned
    IB/mlx5: Avoid async events on invalid port number
    IB/mlx5: Decrease memory consumption of mr caches
    mlx5: Remove checksum on command interface commands
    IB/mlx5: Fix memory leak in mlx5_ib_create_srq
    IB/mlx5: Flush cache workqueue before destroying it
    IB/mlx5: Fix send work queue size calculation

    Linus Torvalds
     

11 Oct, 2013

4 commits


02 Oct, 2013

2 commits

  • o Interface needs to be brought down and up while configuring SR-IOV.
    Protect interface up/down using rtnl_lock()/rtnl_unlock()

    Signed-off-by: Manish Chopra
    Signed-off-by: David S. Miller

    Manish Chopra
     
  • The dma descriptors indexes are only initialized on the probe function.

    If a packet is on the buffer when temac_stop is called, the dma
    descriptors indexes can be left on a incorrect state where no other
    package can be sent.

    So an interface could be left in an usable state after ifdow/ifup.

    This patch makes sure that the descriptors indexes are in a proper
    status when the device is open.

    Signed-off-by: Ricardo Ribalda Delgado
    Signed-off-by: David S. Miller

    Ricardo Ribalda
     

01 Oct, 2013

4 commits

  • __initdata tag should be placed between the variable name and equal
    sign for the variable to be placed in the intended .init.data section.

    In this particular case __initdata is incorrect as moxart_mac_driver
    can be used after the driver gets initialized.

    Also while at it static-ize moxart_mac_driver.

    Signed-off-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Kyungmin Park
    Signed-off-by: David S. Miller

    Bartlomiej Zolnierkiewicz
     
  • Currently IEEE 1588 timer reference clock source is determined through
    hard-coded value in gianfar_ptp driver. This patch allows to select ptp
    clock source by means of device tree file node.

    For instance:

    fsl,cksel = ;

    for using external (TSEC_TMR_CLK input) high precision timer
    reference clock.

    Other acceptable values:

    : eTSEC system clock
    : eTSEC1 transmit clock
    : RTC clock input

    When this attribute isn't used, eTSEC system clock will serve as
    IEEE 1588 timer reference clock.

    Signed-off-by: Aida Mynzhasova
    Acked-by: Kumar Gala
    Signed-off-by: David S. Miller

    Aida Mynzhasova
     
  • This reverts commit 894116bd0e9b7749a0c4b6c62dec13c2a0ccef68.

    I applied the wrong version of this patch, correct
    version coming up.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Currently IEEE 1588 timer reference clock source is determined through
    hard-coded value in gianfar_ptp driver. This patch allows to select ptp
    clock source by means of device tree file node.

    For instance:

    fsl,cksel = ;

    for using external (TSEC_TMR_CLK input) high precision timer
    reference clock.

    Other acceptable values:

    : eTSEC system clock
    : eTSEC1 transmit clock
    : RTC clock input

    When this attribute isn't used, eTSEC system clock will serve as
    IEEE 1588 timer reference clock.

    Signed-off-by: Aida Mynzhasova
    Acked-by: Richard Cochran
    Signed-off-by: David S. Miller

    Aida Mynzhasova
     

28 Sep, 2013

8 commits


27 Sep, 2013

7 commits

  • coccicheck shows:

    drivers/net/ethernet/intel/i40e/i40e_adminq.c:704:2-8: Replace memcpy
    with struct assignment
    drivers/net/ethernet/intel/i40e/i40e_adminq.c:763:1-7: Replace memcpy
    with struct assignment
    drivers/net/ethernet/intel/i40e/i40e_adminq.c:810:2-8: Replace memcpy
    with struct assignment
    drivers/net/ethernet/intel/i40e/i40e_common.c:510:2-8: Replace memcpy
    with struct assignment

    Fix each of them with a *a = *b;

    Signed-off-by: Jesse Brandeburg
    Tested-by: Kavindya Deegala
    Signed-off-by: Jeff Kirsher

    Jesse Brandeburg
     
  • As mentioned by Joe Perches, clean up return values in some functions
    making sure to have consistent return types, not mixing types.

    A couple of Joe's comments suggested returning void, but since
    the functions in question are ndo defined, the return values are fixed.
    So make a comment in the header that notes this is a function called by
    net_device_ops.

    v2: fix post increment bug in return

    CC: Joe Perches
    Signed-off-by: Jesse Brandeburg
    Tested-by: Kavindya Deegala
    Signed-off-by: Jeff Kirsher

    Jesse Brandeburg
     
  • When calling admin queue functions the driver should use aq_ret
    variable to help make clear that the return value is not a regular
    return variable.

    This allows for clean up of the return types that were previously
    converted to int.

    Signed-off-by: Jesse Brandeburg
    Tested-by: Kavindya Deegala
    Signed-off-by: Jeff Kirsher

    Jesse Brandeburg
     
  • As mentioned by Joe Perches clean up a loop flow.

    Signed-off-by: Jesse Brandeburg
    CC: Joe Perches
    Tested-by: Kavindya Deegala
    Signed-off-by: Jeff Kirsher

    Jesse Brandeburg
     
  • As mentioned by Joe Perches, we should be using
    foo = alloc(...)
    if (!foo)
    return -ENOMEM;

    return 0;

    Signed-off-by: Jesse Brandeburg
    CC: Joe Perches
    Tested-by: Kavindya Deegala
    Signed-off-by: Jeff Kirsher

    Jesse Brandeburg
     
  • Add back 82580 loopback tests to ethtool.

    Signed-off-by: Todd Fujinaka
    Tested-by: Aaron Brown
    Signed-off-by: Jeff Kirsher

    Todd Fujinaka
     
  • Outgoing packets sent by via-rhine have their VLAN PCP field off by one
    (when hardware acceleration is enabled). The TX descriptor expects only VID
    and PCP (without a CFI/DEI bit).

    Peter Boström noticed and reported the bug.

    Signed-off-by: Roger Luethi
    Cc: Peter Boström
    Signed-off-by: David S. Miller

    Roger Luethi
     

24 Sep, 2013

8 commits

  • Also changed a log message to indicate that memory was not allocated
    instead of memory not available!

    Signed-off-by: Malahal Naineni
    Acked-by: Jitendra Kalsaria
    Signed-off-by: David S. Miller

    malahal@us.ibm.com
     
  • In my patch c194992cbe71c20bb3623a566af8d11b0bfaa721 ("skge: fix
    broken driver") I didn't fix the skge bug correctly. The value of the
    new mapping (not old) was passed to pci_unmap_single.

    If we enable CONFIG_DMA_API_DEBUG, it results in this warning:
    WARNING: CPU: 0 PID: 0 at lib/dma-debug.c:986 check_sync+0x4c4/0x580()
    skge 0000:02:07.0: DMA-API: device driver tries to sync DMA memory it has
    not allocated [device address=0x000000023a0096c0] [size=1536 bytes]

    This patch makes the skge driver pass the correct value to
    pci_unmap_single and fixes the warning. It copies the old descriptor to
    on-stack variable "ee" and unmaps it if mapping of the new descriptor
    succeeded.

    This patch should be backported to 3.11-stable.

    Signed-off-by: Mikulas Patocka
    Reported-by: Francois Romieu
    Tested-by: Mikulas Patocka
    Signed-off-by: David S. Miller

    Mikulas Patocka
     
  • Commit b9871bcf "bnx2x: VF RSS support - PF side" has deprecated one of
    the previous existing messages. If an old VF driver were to send this message
    to the PF then the PF will not reply and leave the mailbox in an unsteady
    state (and cause a timeout on the VF side).

    Wait until firmware ack is written before unlocking channel

    Signed-off-by: Ariel Elior
    Signed-off-by: Yuval Mintz
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Ariel Elior
     
  • During flows which mask block attentions (e.g., register dump) all parities
    are masked. However, unlike other blocks the MCP's attention is not masked
    inside the block but rather the indication to the driver. If another attention
    (e.g., link change) will occour while there's an MCP parity, the driver will
    ignore the fact that the parity is masked and erroneously report a parity.

    This patch forces the driver to read the MCP masking while checking for
    parities.

    Signed-off-by: Yuval Mintz
    Signed-off-by: Ariel Elior
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Yuval Mintz
     
  • During error flows while loading cnic the return value was incorrectly replaced
    by that of bnx2x_set_real_num_queues(); If that function was to finish
    successfully then the cnic would have mistakenly thought the load ended
    successfully, causing issues (& panics) later on.

    Signed-off-by: Yuval Mintz
    Signed-off-by: Ariel Elior
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Yuval Mintz
     
  • bnx2x_iov_static_resc() should be called after IGU was read for information on
    the number of available VFs, so that resources will be correctly set.

    Signed-off-by: Ariel Elior
    Signed-off-by: Yuval Mintz
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Ariel Elior
     
  • Due to incorrect usage of PF macros when reading information relating to
    interrupts, some PFs were erroneously unable to support VFs.

    Signed-off-by: Ariel Elior
    Signed-off-by: Yuval Mintz
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Ariel Elior
     
  • When system CPU is stressed it's possible that the driver will not be able
    to pulse the FW every second, which will cause the log to be filled with
    error messages.

    Increasing the threshold to 5 seconds seems to be enough to eliminate the
    issue.

    Signed-off-by: Eilon Greenstein
    Signed-off-by: Yuval Mintz
    Signed-off-by: Ariel Elior
    Signed-off-by: David S. Miller

    Eilon Greenstein
     

23 Sep, 2013

5 commits

  • On 848xx PHY (10G-baseT), half-duplex was always advertised regardless of the
    actual configuration. Change the 848xx duplex settings to advertise half-duplex
    only if configured.

    Signed-off-by: Yaniv Rosner
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Yaniv Rosner
     
  • Fix Warpcore mode setting when active DAC (Direct Attached Cable) is detected.

    Signed-off-by: Yaniv Rosner
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Yaniv Rosner
     
  • when 1G-optic module was plugged in, internal loopback test failed because the
    driver used to check the optic module (with no need), and for 1G optic module,
    the link speed was forced down to 1G, while the XMAC (10G MAC) was enabled.
    This patch avoid accessing optic module in case internal loopback was selected,
    and update the link speed in case 1G optic module was detected during init
    stage.

    Signed-off-by: Yaniv Rosner
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Yaniv Rosner
     
  • Relocate bnx2x_disable_kr2 function, and use it to disable KR2 in case it is not
    configured in order to clear it's configuration, otherwise the link may come up
    at 20G instead of the requested 10G-KR. In addition, restart AN after
    disabling KR2 as part of the KR2 work-around.

    Signed-off-by: Yaniv Rosner
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Yaniv Rosner
     
  • Previously, in case of KR link down, the driver would reset the PHY and restart
    auto negotiation only when old Warpcore microcode was used (below D108).
    This patch comes to generalize this by keep trying to restart KR link,
    regardless of Warpcore microcode, since it was found that it solves another link
    issue which source is a link-partner. As part of this change, the signal
    detect is no longer a condition to apply the work-around to cover this new case.
    Like before, as long as the link is down, AN will be restarted every 2 seconds.

    Signed-off-by: Yaniv Rosner
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Yaniv Rosner
     

21 Sep, 2013

1 commit