aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/pcmcia/cs.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/pcmcia/cs.c b/drivers/pcmcia/cs.c
index 06e2cda4e07b..f9cd831a3f31 100644
--- a/drivers/pcmcia/cs.c
+++ b/drivers/pcmcia/cs.c
@@ -699,11 +699,12 @@ static int pccardd(void *__skt)
699 */ 699 */
700void pcmcia_parse_events(struct pcmcia_socket *s, u_int events) 700void pcmcia_parse_events(struct pcmcia_socket *s, u_int events)
701{ 701{
702 unsigned long flags;
702 cs_dbg(s, 4, "parse_events: events %08x\n", events); 703 cs_dbg(s, 4, "parse_events: events %08x\n", events);
703 if (s->thread) { 704 if (s->thread) {
704 spin_lock(&s->thread_lock); 705 spin_lock_irqsave(&s->thread_lock, flags);
705 s->thread_events |= events; 706 s->thread_events |= events;
706 spin_unlock(&s->thread_lock); 707 spin_unlock_irqrestore(&s->thread_lock, flags);
707 708
708 wake_up(&s->thread_wait); 709 wake_up(&s->thread_wait);
709 } 710 }