1. 19 4月, 2007 14 次提交
  2. 17 4月, 2007 1 次提交
    • M
      IB/mthca: Fix data corruption after FMR unmap on Sinai · 608d8268
      Michael S. Tsirkin 提交于
      In mthca_arbel_fmr_unmap(), the high bits of the key are masked off.
      This gets rid of the effect of adjust_key(), which makes sure that
      bits 3 and 23 of the key are equal when the Sinai throughput
      optimization is enabled, and so it may happen that an FMR will end up
      with bits 3 and 23 in the key being different.  This causes data
      corruption, because when enabling the throughput optimization, the
      driver promises the HCA firmware that bits 3 and 23 of all memory keys
      will always be equal.
      
      Fix by re-applying adjust_key() after masking the key.
      
      Thanks to Or Gerlitz for reproducing the problem, and Ariel Shahar for
      help in debug.
      Signed-off-by: NMichael S. Tsirkin <mst@dev.mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      608d8268
  3. 13 4月, 2007 1 次提交
  4. 27 3月, 2007 2 次提交
  5. 23 3月, 2007 3 次提交
  6. 15 3月, 2007 1 次提交
  7. 07 3月, 2007 9 次提交
  8. 02 3月, 2007 2 次提交
    • R
      IB/mthca: Fix error path in mthca_alloc_memfree() · 88171cfe
      Roland Dreier 提交于
      The garbled logic in mthca_alloc_memfree() causes it to return 0, even
      if it fails to allocate all doorbell records.  Fix it to return -ENOMEM
      when it fails.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      88171cfe
    • H
      IB/ehca: Fix sync between completion handler and destroy cq · 31726798
      Hoang-Nam Nguyen 提交于
      This patch fixes two issues reported by Roland Dreier and Christoph Hellwig:
      
      - Mismatched sync/locking between completion handler and destroy cq We
        introduced a counter nr_events per cq to track number of irq events
        seen. This counter is incremented when an event queue entry is seen
        and decremented after completion handler has been called regardless
        if scaling code is active or not. Note that nr_callbacks tracks
        number of events assigned to a cpu and both counters can potentially
        diverge.
      
        The sync between running completion handler and destroy cq is done
        by using the global spin lock ehca_cq_idr_lock.
      
      - Replace yield by wait_event on the counter above to become zero.
      Signed-off-by: NHoang-Nam Nguyen <hnguyen@de.ibm.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      31726798
  9. 24 2月, 2007 2 次提交
  10. 21 2月, 2007 1 次提交
  11. 18 2月, 2007 1 次提交
  12. 17 2月, 2007 3 次提交