• Alex Williamson's avatar
    [IA64] sba_iommu bug fixes · 5f6602a1
    Alex Williamson authored
       This fixes a couple of bugs in the zx1/sx1000 sba_iommu.  These are
    all pretty low likelihood of hitting.  The first problem is a simple off
    by one, deep in the sba_alloc_range() error path.  Surrounding that was
    a lock ordering problem that could have potentially deadlocked with the
    order the locks are grabbed in sba_unmap_single().  I moved the resource
    locking into sba_search_bitmap() to prevent this.  Finally, there's a
    potential race between unmapping pdir entries and marking incoming DMA
    pages clean.  If you see any oddities, please let me know, but I've
    tested it pretty thoroughly here.  Tony, please apply.  Thanks,
    
    BTW, many of the options in this driver not on by default are becoming
    more and more broken.  I'll be working on some patches to clean them
    out, but I wanted to get this bug fix out first.
    Signed-off-by: default avatarAlex Williamson <alex.williamson@hp.com>
    Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
    5f6602a1
sba_iommu.c 55.6 KB