1. 05 6月, 2018 1 次提交
  2. 13 3月, 2018 1 次提交
  3. 08 3月, 2018 1 次提交
    • M
      qed: Free RoCE ILT Memory on rmmod qedr · 9de506a5
      Michal Kalderon 提交于
      Rdma requires ILT Memory to be allocated for it's QPs.
      Each ILT entry points to a page used by several Rdma QPs.
      To avoid allocating all the memory in advance, the rdma
      implementation dynamically allocates memory as more QPs are
      added, however it does not dynamically free the memory.
      The memory should have been freed on rmmod qedr, but isn't.
      This patch adds the memory freeing on rmmod qedr (currently
      it will be freed with qed is removed).
      
      An outcome of this bug, is that if qedr is unloaded and loaded
      without unloaded qed, there will be no more RoCE traffic.
      
      The reason these are related, is that the logic of detecting the
      first QP ever opened is by asking whether ILT memory for RoCE has
      been allocated.
      
      In addition, this patch modifies freeing of the Task context to
      always use the PROTOCOLID_ROCE and not the protocol passed,
      this is because task context for iWARP and ROCE both use the
      ROCE protocol id, as opposed to the connection context.
      
      Fixes: dbb799c3 ("qed: Initialize hardware for new protocols")
      Signed-off-by: NMichal Kalderon <Michal.Kalderon@cavium.com>
      Signed-off-by: NAriel Elior <Ariel.Elior@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9de506a5
  4. 26 1月, 2018 1 次提交
  5. 25 1月, 2018 2 次提交
  6. 03 1月, 2018 1 次提交
  7. 27 9月, 2017 3 次提交
  8. 03 7月, 2017 3 次提交
  9. 22 6月, 2017 4 次提交
  10. 21 6月, 2017 3 次提交
  11. 10 6月, 2017 3 次提交
  12. 02 6月, 2017 1 次提交
    • M
      qed: Hold a single array for SBs · 50a20714
      Mintz, Yuval 提交于
      A PF today holds 2 different arrays - one holding information
      about the HW configuration and one holding information about
      the SBs that are used by the protocol drivers.
      These arrays aren't really connected - e.g., protocol driver
      initializing a given SB would not mark the same SB as occupied
      in the HW shadow array.
      
      Move into a single array [at least for PFs] - hold the mapping
      of the driver-protocol SBs on the HW entry which they configure.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      50a20714
  13. 19 5月, 2017 1 次提交
  14. 01 5月, 2017 5 次提交
  15. 04 4月, 2017 1 次提交
  16. 14 3月, 2017 1 次提交
  17. 21 2月, 2017 3 次提交
  18. 21 1月, 2017 1 次提交
    • A
      qed: avoid possible stack overflow in qed_ll2_acquire_connection · 0629a330
      Arnd Bergmann 提交于
      struct qed_ll2_info is rather large, so putting it on the stack
      can cause an overflow, as this warning tries to tell us:
      
      drivers/net/ethernet/qlogic/qed/qed_ll2.c: In function 'qed_ll2_start':
      drivers/net/ethernet/qlogic/qed/qed_ll2.c:2159:1: error: the frame size of 1056 bytes is larger than 1024 bytes [-Werror=frame-larger-than=]
      
      qed_ll2_start_ooo() already uses a dynamic allocation for the structure
      to work around that problem, and we could do the same in qed_ll2_start()
      as well as qed_roce_ll2_start(), but since the structure is only
      used to pass a couple of initialization values here, it seems nicer
      to replace it with a different structure.
      
      Lacking any idea for better naming, I'm adding 'struct qed_ll2_conn',
      which now contains all the initialization data, and this now simply
      gets copied into struct qed_ll2_info rather than assigning all members
      one by one.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0629a330
  19. 02 1月, 2017 1 次提交
  20. 03 12月, 2016 1 次提交
  21. 19 10月, 2016 1 次提交
  22. 14 10月, 2016 1 次提交