]> git.baikalelectronics.ru Git - kernel.git/commit
[IA64] sba_iommu bug fixes
authorAlex Williamson <alex.williamson@hp.com>
Mon, 25 Apr 2005 20:14:36 +0000 (13:14 -0700)
committerTony Luck <tony.luck@intel.com>
Mon, 25 Apr 2005 20:14:36 +0000 (13:14 -0700)
commita7bb5e2444ce28f7c4318c3afca52350136dbfcd
tree603ce367a349b9454a7f6b77953b3ecdf194ec68
parentcc821c9d103aacdbc05d1f39264207b699ee52b7
[IA64] sba_iommu bug fixes

   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: Alex Williamson <alex.williamson@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/hp/common/sba_iommu.c