1. 24 5月, 2006 10 次提交
  2. 19 5月, 2006 1 次提交
  3. 18 5月, 2006 4 次提交
  4. 17 5月, 2006 1 次提交
    • R
      IB/mthca: Make fw_cmd_doorbell default to 0 · 1db76c14
      Roland Dreier 提交于
      Setting fw_cmd_doorbell allows FW command to be queued using posted
      writes instead of requiring polling on a "go" bit, so it should be a
      performance boost.  However, the option causes problems with at least
      some device/firmware combinations, so set the default to 0 until we
      understand what's going on better.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      1db76c14
  5. 13 5月, 2006 2 次提交
    • S
      IB: refcount race fixes · 1b52fa98
      Sean Hefty 提交于
      Fix race condition during destruction calls to avoid possibility of
      accessing object after it has been freed.  Instead of waking up a wait
      queue directly, which is susceptible to a race where the object is
      freed between the reference count going to 0 and the wake_up(), use a
      completion to wait in the function doing the freeing.
      Signed-off-by: NSean Hefty <sean.hefty@intel.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      1b52fa98
    • R
      IB/ipath: Properly terminate PCI ID table · 6f4bb3d8
      Roland Dreier 提交于
      The ipath driver's table of PCI IDs needs a { 0, } entry at the end.
      This makes all of the device aliases visible to userspace so hotplug
      loads the module for all supported devices.  Without the patch,
      modinfo ipath_core only shows:
      
          alias:          pci:v00001FC1d0000000Dsv*sd*bc*sc*i*
      
      instead of the correct:
      
          alias:          pci:v00001FC1d00000010sv*sd*bc*sc*i*
          alias:          pci:v00001FC1d0000000Dsv*sd*bc*sc*i*
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      Signed-off-by: NBryan O'Sullivan <bos@pathscale.com>
      6f4bb3d8
  6. 11 5月, 2006 1 次提交
  7. 10 5月, 2006 4 次提交
    • R
      IPoIB: Free child interfaces properly · 5941d079
      Roland Dreier 提交于
      When deleting a child interface with a non-default P_Key via
      /sys/class/net/ibX/delete_child, the interface must be freed with
      free_netdev() (rather than kfree() on the private data).
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      5941d079
    • R
      IB/mthca: Fix race in reference counting · a3285aa4
      Roland Dreier 提交于
      Fix races in in destroying various objects.  If a destroy routine
      waits for an object to become free by doing
      
      	wait_event(&obj->wait, !atomic_read(&obj->refcount));
      	/* now clean up and destroy the object */
      
      and another place drops a reference to the object by doing
      
      	if (atomic_dec_and_test(&obj->refcount))
      		wake_up(&obj->wait);
      
      then this is susceptible to a race where the wait_event() and final
      freeing of the object occur between the atomic_dec_and_test() and the
      wake_up().  And this is a use-after-free, since wake_up() will be
      called on part of the already-freed object.
      
      Fix this in mthca by replacing the atomic_t refcounts with plain old
      integers protected by a spinlock.  This makes it possible to do the
      decrement of the reference count and the wake_up() so that it appears
      as a single atomic operation to the code waiting on the wait queue.
      
      While touching this code, also simplify mthca_cq_clean(): the CQ being
      cleaned cannot go away, because it still has a QP attached to it.  So
      there's no reason to be paranoid and look up the CQ by number; it's
      perfectly safe to use the pointer that the callers already have.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      a3285aa4
    • R
      IB/srp: Fix tracking of pending requests during error handling · d945e1df
      Roland Dreier 提交于
      If a SCSI abort completes, or the command completes successfully, then
      the driver must remove the command from its queue of pending
      commands.  Similarly, if a device reset succeeds, then all commands
      queued for the given device must be removed from the queue.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      d945e1df
    • R
      IB: Fix display of 4-bit port counters in sysfs · d8b9f23b
      Ralph Campbell 提交于
      The code to display local_link_integrity_errors and
      excessive_buffer_overrun_errors in
      /sys/class/infiniband/<hca>/ports/<n>/counters/
      uses the wrong shift to extract the 4 bit values.
      Signed-off-by: NRalph Campbell <ralph.campbell@qlogic.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      d8b9f23b
  8. 02 5月, 2006 12 次提交
  9. 20 4月, 2006 5 次提交