From 9d4fdc08b346f484c6df4e48ee956259752ac044 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 19 Jul 2011 17:02:07 +0200 Subject: [PATCH] --- yaml --- r: 268935 b: refs/heads/master c: 3b8f40481513a7b6123def5a02db4cff96ae2198 h: refs/heads/master i: 268933: 06525a1b40ebb8f9c31ade5118f3daa8f809dc5c 268931: 34ca1e57ce5590c55ad67e664cb08f9909429cd4 268927: eeb58de806585f6ec14b6be91675cdc2483628fe v: v3 --- [refs] | 2 +- trunk/drivers/iommu/dmar.c | 14 +++++++------- trunk/include/linux/intel-iommu.h | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index dd5731c0e125..74ae896cdcde 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 96f8e98bfeba3efa82eca85343bc058f6eced888 +refs/heads/master: 3b8f40481513a7b6123def5a02db4cff96ae2198 diff --git a/trunk/drivers/iommu/dmar.c b/trunk/drivers/iommu/dmar.c index be4164b3ebe8..388a1189e552 100644 --- a/trunk/drivers/iommu/dmar.c +++ b/trunk/drivers/iommu/dmar.c @@ -921,11 +921,11 @@ int qi_submit_sync(struct qi_desc *desc, struct intel_iommu *iommu) restart: rc = 0; - spin_lock_irqsave(&qi->q_lock, flags); + raw_spin_lock_irqsave(&qi->q_lock, flags); while (qi->free_cnt < 3) { - spin_unlock_irqrestore(&qi->q_lock, flags); + raw_spin_unlock_irqrestore(&qi->q_lock, flags); cpu_relax(); - spin_lock_irqsave(&qi->q_lock, flags); + raw_spin_lock_irqsave(&qi->q_lock, flags); } index = qi->free_head; @@ -965,15 +965,15 @@ int qi_submit_sync(struct qi_desc *desc, struct intel_iommu *iommu) if (rc) break; - spin_unlock(&qi->q_lock); + raw_spin_unlock(&qi->q_lock); cpu_relax(); - spin_lock(&qi->q_lock); + raw_spin_lock(&qi->q_lock); } qi->desc_status[index] = QI_DONE; reclaim_free_desc(qi); - spin_unlock_irqrestore(&qi->q_lock, flags); + raw_spin_unlock_irqrestore(&qi->q_lock, flags); if (rc == -EAGAIN) goto restart; @@ -1159,7 +1159,7 @@ int dmar_enable_qi(struct intel_iommu *iommu) qi->free_head = qi->free_tail = 0; qi->free_cnt = QI_LENGTH; - spin_lock_init(&qi->q_lock); + raw_spin_lock_init(&qi->q_lock); __dmar_enable_qi(iommu); diff --git a/trunk/include/linux/intel-iommu.h b/trunk/include/linux/intel-iommu.h index 19728c462399..8b9b5d365f4e 100644 --- a/trunk/include/linux/intel-iommu.h +++ b/trunk/include/linux/intel-iommu.h @@ -271,7 +271,7 @@ struct qi_desc { }; struct q_inval { - spinlock_t q_lock; + raw_spinlock_t q_lock; struct qi_desc *desc; /* invalidation queue */ int *desc_status; /* desc status */ int free_head; /* first free entry */