iommu/amd: Ignore BUS_NOTIFY_UNBOUND_DRIVER event
authorJoerg Roedel <jroedel@suse.de>
Wed, 1 Apr 2015 12:58:45 +0000 (14:58 +0200)
committerJoerg Roedel <jroedel@suse.de>
Thu, 2 Apr 2015 11:31:07 +0000 (13:31 +0200)
commit7139a2e929b9e3ca8d5c217cb8aec560be1faf00
treeca327119a6d3fe6380c697c919da4c6d07b5bf05
parent6c5cc8015793cdfd56d9997bcfddf2740ff716c5
iommu/amd: Ignore BUS_NOTIFY_UNBOUND_DRIVER event

Detaching a device from its domain at this event is
problematic for several reasons:

* The device might me in an alias group and
  detaching it will also detach all other devices in
  the group. This removes valid DMA mappings from
  the other devices causing io-page-faults and lets
  these devices fail.

* Devices might have unity mappings specified by the
  IVRS table. These mappings are required for the
  device even when no device driver is attached.
  Detaching the device from its domain in driver
  unbind will also remove these unity mappings.

This patch removes the handling of the BUS_NOTIFY_UNBOUND_DRIVER
event to prevent these issues and align it better with the
behavior of the VT-d driver.

Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/amd_iommu.c