1. 19 3月, 2010 1 次提交
  2. 08 1月, 2010 1 次提交
  3. 07 1月, 2010 1 次提交
  4. 15 10月, 2009 1 次提交
  5. 08 10月, 2009 1 次提交
  6. 06 9月, 2009 3 次提交
    • Y
      mlx4_core: Avoid double free_icms · 1af92e2a
      Yevgeny Petrilin 提交于
      On the error path of mlx4_init_hca(), mlx4_close_hca() is called,
      followed by mlx4_free_icms() and mlx4_UNMAP_FA().  But both those
      functions are also called from mlx4_close_hca(), which leads to a
      double free.
      Signed-off-by: NYevgeny Petrilin <yevgenyp@mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      1af92e2a
    • R
      mlx4_core: Allocate and map sufficient ICM memory for EQ context · fa0681d2
      Roland Dreier 提交于
      The current implementation allocates a single host page for EQ context
      memory, which was OK when we only allocated a few EQs.  However, since
      we now allocate an EQ for each CPU core, this patch removes the
      hard-coded limit (which we exceed with 4 KB pages and 128 byte EQ
      context entries with 32 CPUs) and uses the same ICM table code as all
      other context tables, which ends up simplifying the code quite a bit
      while fixing the problem.
      
      This problem was actually hit in practice on a dual-socket Nehalem box
      with 16 real hardware threads and sufficiently odd ACPI tables that it
      shows on boot
      
          SMP: Allowing 32 CPUs, 16 hotplug CPUs
      
      so num_possible_cpus() ends up 32, and mlx4 ends up creating 33 MSI-X
      interrupts and 33 EQs.  This mlx4 bug means that mlx4 can't even
      initialize at all on this quite mainstream system.
      
      Cc: <stable@kernel.org>
      Reported-by: NEli Cohen <eli@mellanox.co.il>
      Tested-by: NChristoph Lameter <cl@linux-foundation.org>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      fa0681d2
    • R
      mlx4_core: Use pci_request_regions() · a01df0fe
      Roland Dreier 提交于
      The old code used two calls to pci_request_region() to get the two BARs
      for the mlx4 device, for no particularly good reason.  Clean up the code
      a little by converting this to a single call to pci_request_regions().
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      a01df0fe
  7. 07 7月, 2009 2 次提交
  8. 28 5月, 2009 1 次提交
  9. 22 4月, 2009 1 次提交
  10. 07 4月, 2009 2 次提交
  11. 19 3月, 2009 1 次提交
  12. 28 2月, 2009 1 次提交
  13. 10 1月, 2009 1 次提交
    • R
      mlx4_core: Fix warning from min() · 70cb9253
      Roland Dreier 提交于
      Recent cpumask changes changed num_possible_cpus() from returning an int
      to returning an unsigned int.  This means that doing
      
          min(num_possible_cpus(), <int expression>)
      
      now produces a warning like
      
          drivers/net/mlx4/main.c: In function 'mlx4_enable_msi_x':
          drivers/net/mlx4/main.c:915: warning: comparison of distinct pointer types lacks a cast
      
      Fix this by using min_t(int, ...).
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      70cb9253
  14. 22 12月, 2008 1 次提交
  15. 29 11月, 2008 1 次提交
  16. 23 10月, 2008 5 次提交
  17. 26 7月, 2008 1 次提交
  18. 23 7月, 2008 1 次提交
  19. 15 7月, 2008 1 次提交
    • V
      mlx4_core: Use MOD_STAT_CFG command to get minimal page size · 2d928651
      Vladimir Sokolovsky 提交于
      There was a bug in some versions of the mlx4 driver in
      mlx4_alloc_fmr(), which hardcoded the minimum acceptable page_shift to
      be 12.  However, new ConnectX firmware can support a minimum
      page_shift of 9 (log_pg_sz of 9 returned by QUERY_DEV_LIM) -- so with
      old drivers, ib_fmr_alloc() would fail for ULPs using the device
      minimum when creating FMRs.
      
      To preserve firmware compatibility with released mlx4 drivers, the
      firmware will continue to return 12 as before for log_page_sz in
      QUERY_DEV_CAP for these drivers.  However, to enable new drivers to
      take advantage of the available smaller page size, the mlx4 driver now
      first sets the log_pg_sz to the device minimum by setting a
      log_page_sz value to 0 via the MOD_STAT_CFG command and then reading
      the real minimum via QUERY_DEV_CAP.
      Signed-off-by: NJack Morgenstein <jackm@mellanox.co.il>
      Signed-off-by: NVladimir Sokolovsky <vlad@mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      2d928651
  20. 24 4月, 2008 1 次提交
  21. 17 4月, 2008 3 次提交
  22. 05 2月, 2008 3 次提交
  23. 14 10月, 2007 1 次提交
  24. 11 10月, 2007 1 次提交
    • R
      mlx4_core: Fix section mismatches · 3d73c288
      Roland Dreier 提交于
          
      Commit ee49bd93 ("mlx4_core: Reset device when internal error is
      detected") introduced some section mismatch problems when
      CONFIG_HOTPLUG=n, because the error recovery code tears down and
      reinitializes the device after everything is loaded, which ends up
      calling into lots of code marked __devinit and __devexit from regular
      .text.  Fix this by getting rid of these now-incorrect section
      markers.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      3d73c288
  25. 10 10月, 2007 4 次提交