This reverts commit 9cd4f1434479f1ac25c440c421fbf52069079914. Some issues were reported on the original commit. Some thunderbolt devices don't work anymore due to the following DMA fault. DMAR: DRHD: handling fault status reg 2 DMAR: [INTR-REMAP] Request device [09:00.0] fault index 0x8080 [fault reason 0x25] Blocked a compatibility format interrupt request Bring it back for now to avoid functional regression.
Showing the changes to include (1 of 3 files). Show all
Unified · Split
| @@ -65,7 +65,6 @@ struct dmar_pci_notify_info { · 64 unmodified lines | |||
| 65 | 65 | ||
| 66 | extern struct rw_semaphore dmar_global_lock; | 66 | extern struct rw_semaphore dmar_global_lock; |
| 67 | extern struct list_head dmar_drhd_units; | 67 | extern struct list_head dmar_drhd_units; |
| 68 | extern int intel_iommu_enabled; | ||
| 69 | 68 | ||
| 70 | #define for_each_drhd_unit(drhd) \ | 69 | #define for_each_drhd_unit(drhd) \ |
| 71 | list_for_each_entry_rcu(drhd, &dmar_drhd_units, list, \ | 70 | list_for_each_entry_rcu(drhd, &dmar_drhd_units, list, \ |
| @@ -89,8 +88,7 @@ extern int intel_iommu_enabled; · 17 unmodified lines | |||
| 89 | static inline bool dmar_rcu_check(void) | 88 | static inline bool dmar_rcu_check(void) |
| 90 | { | 89 | { |
| 91 | return rwsem_is_locked(&dmar_global_lock) || | 90 | return rwsem_is_locked(&dmar_global_lock) || |
| 92 | system_state == SYSTEM_BOOTING || | 91 | system_state == SYSTEM_BOOTING; |
| 93 | (IS_ENABLED(CONFIG_INTEL_IOMMU) && !intel_iommu_enabled); | ||
| 94 | } | 92 | } |
| 95 | 93 | ||
| 96 | #define dmar_rcu_dereference(p) rcu_dereference_check((p), dmar_rcu_check()) | 94 | #define dmar_rcu_dereference(p) rcu_dereference_check((p), dmar_rcu_check()) |