diff --git a/drivers/staging/unisys/channels/chanstub.c b/drivers/staging/unisys/channels/chanstub.c index 7f36d9adac554e52ac20e7442feea44bc70429e0..20521ce0136dd3b22a40e5e54ed819e5d05a397c 100644 --- a/drivers/staging/unisys/channels/chanstub.c +++ b/drivers/staging/unisys/channels/chanstub.c @@ -47,6 +47,7 @@ SignalInsert_withLock(CHANNEL_HEADER __iomem *pChannel, u32 Queue, { unsigned char result; unsigned long flags; + spin_lock_irqsave(lock, flags); result = visor_signal_insert(pChannel, Queue, pSignal); spin_unlock_irqrestore(lock, flags); @@ -58,6 +59,7 @@ SignalRemove_withLock(CHANNEL_HEADER __iomem *pChannel, u32 Queue, void *pSignal, spinlock_t *lock) { unsigned char result; + spin_lock(lock); result = visor_signal_remove(pChannel, Queue, pSignal); spin_unlock(lock);