1. 01 Mar, 2007 2 commits
    • Roland Dreier's avatar
      IB/mthca: Fix error path in mthca_alloc_memfree() · 88171cfe
      Roland Dreier authored
      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: default avatarRoland Dreier <rolandd@cisco.com>
      88171cfe
    • Hoang-Nam Nguyen's avatar
      IB/ehca: Fix sync between completion handler and destroy cq · 31726798
      Hoang-Nam Nguyen authored
      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: default avatarHoang-Nam Nguyen <hnguyen@de.ibm.com>
      Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
      31726798
  2. 27 Feb, 2007 1 commit
  3. 26 Feb, 2007 37 commits