summaryrefslogtreecommitdiffstats
path: root/drivers/iommu/irq_remapping.h
diff options
context:
space:
mode:
authorMark Salter2014-09-21 19:58:24 +0200
committerJoerg Roedel2014-09-25 16:46:37 +0200
commitfb3e306515ba6a012364b698b8ca71c337424ed3 (patch)
treedd1e4d8eb4e448d944e05fdc122796c0372f4728 /drivers/iommu/irq_remapping.h
parentiommu/amd: Split init_iommu_group() from iommu_init_device() (diff)
downloadkernel-qcow2-linux-fb3e306515ba6a012364b698b8ca71c337424ed3.tar.gz
kernel-qcow2-linux-fb3e306515ba6a012364b698b8ca71c337424ed3.tar.xz
kernel-qcow2-linux-fb3e306515ba6a012364b698b8ca71c337424ed3.zip
iommu: Fix bus notifier breakage
iommu_bus_init() registers a bus notifier on the given bus by using a statically defined notifier block: static struct notifier_block iommu_bus_nb = { .notifier_call = iommu_bus_notifier, }; This same notifier block is used for all busses. This causes a problem for notifiers registered after iommu has registered this callback on multiple busses. The problem is that a subsequent notifier being registered on a bus which has this iommu notifier will also get linked in to the notifier list of all other busses which have this iommu notifier. This patch fixes this by allocating the notifier_block at runtime. Some error checking is also added to catch any allocation failure or notifier registration error. Signed-off-by: Mark Salter <msalter@redhat.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu/irq_remapping.h')
0 files changed, 0 insertions, 0 deletions