1. 21 Feb, 2017 34 commits
  2. 20 Feb, 2017 6 commits
    • David S. Miller's avatar
      Merge branch 'qed-bug-fixes' · 5a4dcdca
      David S. Miller authored
      Yuval Mintz says:
      
      ====================
      qed*: Bug fixes
      
      This is a respin of the series with same name for net-next
      instead of net [only patch #10 is changed].
      
      The 3 first patches here are a repost of
      ("qed: RoCE infrastructure fixes"). The fourth is an additional
      RoCE-related infrastructure fix, and the latter contain various fixes
      to qed/qede.
      
      Please consider applying these to `net-next'.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5a4dcdca
    • Mintz, Yuval's avatar
      qed*: Fix link indication race · 65ed2ffd
      Mintz, Yuval authored
      Driver changes the link properties via communication with
      the management firmware, and re-reads the resulting link status
      when it receives an indication that the link has changed.
      However, there are certain scenarios where such indications
      might be missing, and so driver also re-reads the current link
      results without attention in several places. Specifically, it
      does so during load and when resetting the link.
      
      This creates a race where driver might reflect incorrect
      link status - e.g., when explicit reading of the link status is
      switched by attention with the changed configuration.
      
      Correct this flow by a lock syncronizing the handling of the
      link indications [both explicit requests and attention].
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      65ed2ffd
    • Mintz, Yuval's avatar
      qed: Don't allocate SBs using main PTT · 85750d74
      Mintz, Yuval authored
      Flows accessing registers require the flow to hold a PTT entry.
      To protect 'major' load/unload flows a main_ptt is pre-allocated
      to guarantee such flows wouldn't be blocked by PTT being
      unavailable.
      
      Status block initialization currently uses the main_ptt which
      is incorrect, as this flow might run concurrently to others
      [E.g., loading qedr while toggling qede]. That would have dire
      effects as it means registers' access to device breaks and further
      read/writes might access incorrect addresses.
      
      Instead, when initializing status blocks acquire/release a PTT
      as part of the flow.
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      85750d74
    • Sudarsana Reddy Kalluru's avatar
      qede: Prevent index problems in loopback test · afe981d6
      Sudarsana Reddy Kalluru authored
      Driver currently utilizes the same loop variable in two
      nested loops.
      Signed-off-by: default avatarSudarsana Reddy Kalluru <Sudarsana.Kalluru@cavium.com>
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      afe981d6
    • Mintz, Yuval's avatar
      qed: Reflect PF link when initializing VF · 33b2fbd0
      Mintz, Yuval authored
      VF learns of the current link state via its bulletin board,
      which might reflect either the physical link state or some
      user-configured logical state.
      Whenever the physical link changes or whnever such a configuration
      is explicitly made by user the PF driver would update the bulletin
      that the VF reads. But if neither has happened - i.e., PF still
      hasn't got a physical link up and no additional configuration was
      done the VF wouldn't have a valid link information available.
      
      Simply reflect the physical link state whenever the VF is
      initialized. The user could then affect it however he wants.
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      33b2fbd0
    • Mintz, Yuval's avatar
      qede: Free netdevice only after stoping slowpath · 885185df
      Mintz, Yuval authored
      qed needs to be informed of the removal of the qede interface
      prior to its actual removal, as qede has some registered callbacks
      that might get called async to the removal flow.
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      885185df