diff options
Diffstat (limited to 'kernel/irq/spurious.c')
| -rw-r--r-- | kernel/irq/spurious.c | 14 | 
1 files changed, 7 insertions, 7 deletions
| diff --git a/kernel/irq/spurious.c b/kernel/irq/spurious.c index e49ea1c5232d..89fb90ae534f 100644 --- a/kernel/irq/spurious.c +++ b/kernel/irq/spurious.c @@ -28,7 +28,7 @@ static int try_one_irq(int irq, struct irq_desc *desc)  	struct irqaction *action;  	int ok = 0, work = 0; -	spin_lock(&desc->lock); +	raw_spin_lock(&desc->lock);  	/* Already running on another processor */  	if (desc->status & IRQ_INPROGRESS) {  		/* @@ -37,13 +37,13 @@ static int try_one_irq(int irq, struct irq_desc *desc)  		 */  		if (desc->action && (desc->action->flags & IRQF_SHARED))  			desc->status |= IRQ_PENDING; -		spin_unlock(&desc->lock); +		raw_spin_unlock(&desc->lock);  		return ok;  	}  	/* Honour the normal IRQ locking */  	desc->status |= IRQ_INPROGRESS;  	action = desc->action; -	spin_unlock(&desc->lock); +	raw_spin_unlock(&desc->lock);  	while (action) {  		/* Only shared IRQ handlers are safe to call */ @@ -56,7 +56,7 @@ static int try_one_irq(int irq, struct irq_desc *desc)  	}  	local_irq_disable();  	/* Now clean up the flags */ -	spin_lock(&desc->lock); +	raw_spin_lock(&desc->lock);  	action = desc->action;  	/* @@ -68,9 +68,9 @@ static int try_one_irq(int irq, struct irq_desc *desc)  		 * Perform real IRQ processing for the IRQ we deferred  		 */  		work = 1; -		spin_unlock(&desc->lock); +		raw_spin_unlock(&desc->lock);  		handle_IRQ_event(irq, action); -		spin_lock(&desc->lock); +		raw_spin_lock(&desc->lock);  		desc->status &= ~IRQ_PENDING;  	}  	desc->status &= ~IRQ_INPROGRESS; @@ -80,7 +80,7 @@ static int try_one_irq(int irq, struct irq_desc *desc)  	 */  	if (work && desc->chip && desc->chip->end)  		desc->chip->end(irq); -	spin_unlock(&desc->lock); +	raw_spin_unlock(&desc->lock);  	return ok;  } | 
