提交 f1a066fc 编写于 作者: A Anna-Maria Gleixner 提交者: Joerg Roedel

iommu/amd: Remove redundant WARN_ON()

The WARN_ON() was introduced in commit 272e4f99 ("iommu/amd: WARN
when __[attach|detach]_device are called with irqs enabled") to ensure
that the domain->lock is taken in proper irqs disabled context. This
is required, because the domain->lock is taken as well in irq
context.

The proper context check by the WARN_ON() is redundant, because it is
already covered by LOCKDEP. When working with locks and changing
context, a run with LOCKDEP is required anyway and would detect the
wrong lock context.

Furthermore all callers for those functions are within the same file
and all callers acquire another lock which already disables interrupts.
Signed-off-by: NAnna-Maria Gleixner <anna-maria@linutronix.de>
Signed-off-by: NJoerg Roedel <jroedel@suse.de>
上级 90fcffd9
...@@ -1946,12 +1946,6 @@ static int __attach_device(struct iommu_dev_data *dev_data, ...@@ -1946,12 +1946,6 @@ static int __attach_device(struct iommu_dev_data *dev_data,
{ {
int ret; int ret;
/*
* Must be called with IRQs disabled. Warn here to detect early
* when its not.
*/
WARN_ON(!irqs_disabled());
/* lock domain */ /* lock domain */
spin_lock(&domain->lock); spin_lock(&domain->lock);
...@@ -2117,12 +2111,6 @@ static void __detach_device(struct iommu_dev_data *dev_data) ...@@ -2117,12 +2111,6 @@ static void __detach_device(struct iommu_dev_data *dev_data)
{ {
struct protection_domain *domain; struct protection_domain *domain;
/*
* Must be called with IRQs disabled. Warn here to detect early
* when its not.
*/
WARN_ON(!irqs_disabled());
domain = dev_data->domain; domain = dev_data->domain;
spin_lock(&domain->lock); spin_lock(&domain->lock);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册