diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2010-02-17 11:47:10 -0500 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2010-03-02 04:28:38 -0500 |
commit | ced918eb748ce30b3aace549fd17540e40ffdca0 (patch) | |
tree | f7c194d56e799508e090ef016bfc2dc0152a4244 /drivers/block | |
parent | 13dda80e48439b446d0bc9bab34b91484bc8f533 (diff) |
i8253: Convert i8253_lock to raw_spinlock
i8253_lock needs to be a real spinlock in preempt-rt, i.e. it can
not be converted to a sleeping lock.
Convert it to raw_spinlock and fix up all users.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Acked-by: Takashi Iwai <tiwai@suse.de>
Cc: Jens Axboe <jens.axboe@oracle.com>
LKML-Reference: <20100217163751.030764372@linutronix.de>
Diffstat (limited to 'drivers/block')
-rw-r--r-- | drivers/block/hd.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/block/hd.c b/drivers/block/hd.c index 5116c65c07cb..b9868ad0278d 100644 --- a/drivers/block/hd.c +++ b/drivers/block/hd.c | |||
@@ -165,12 +165,12 @@ unsigned long read_timer(void) | |||
165 | unsigned long t, flags; | 165 | unsigned long t, flags; |
166 | int i; | 166 | int i; |
167 | 167 | ||
168 | spin_lock_irqsave(&i8253_lock, flags); | 168 | raw_spin_lock_irqsave(&i8253_lock, flags); |
169 | t = jiffies * 11932; | 169 | t = jiffies * 11932; |
170 | outb_p(0, 0x43); | 170 | outb_p(0, 0x43); |
171 | i = inb_p(0x40); | 171 | i = inb_p(0x40); |
172 | i |= inb(0x40) << 8; | 172 | i |= inb(0x40) << 8; |
173 | spin_unlock_irqrestore(&i8253_lock, flags); | 173 | raw_spin_unlock_irqrestore(&i8253_lock, flags); |
174 | return(t - i); | 174 | return(t - i); |
175 | } | 175 | } |
176 | #endif | 176 | #endif |