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 | 66 | extern struct rw_semaphore dmar_global_lock; |
| 67 | 67 | extern struct list_head dmar_drhd_units; |
| 68 | −extern int intel_iommu_enabled; | |
| 69 | 68 | |
| 70 | 69 | #define for_each_drhd_unit(drhd) \ |
| 71 | 70 | list_for_each_entry_rcu(drhd, &dmar_drhd_units, list, \ |
| @@ -89,8 +88,7 @@ extern int intel_iommu_enabled; · 17 unmodified lines | ||
| 89 | 88 | static inline bool dmar_rcu_check(void) |
| 90 | 89 | { |
| 91 | 90 | return rwsem_is_locked(&dmar_global_lock) || |
| 92 | − system_state == SYSTEM_BOOTING || | |
| 93 | − (IS_ENABLED(CONFIG_INTEL_IOMMU) && !intel_iommu_enabled); | |
| 91 | + system_state == SYSTEM_BOOTING; | |
| 94 | 92 | } |
| 95 | 93 | |
| 96 | 94 | #define dmar_rcu_dereference(p) rcu_dereference_check((p), dmar_rcu_check()) |