unsigned char 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); return result; }
/* uisqueue_get_cmdrsp gets the cmdrsp entry at the head of the queue * returns NULL if queue is empty */ int uisqueue_get_cmdrsp(struct uisqueue_info *queueinfo, void *cmdrsp, unsigned int whichqueue) { if (!visor_signal_remove(queueinfo->chan, whichqueue, cmdrsp)) return 0; queueinfo->packets_received++; return 1; /* Success */ }