/* Returns: Pointer to next entry in queue / NULL if empty  */
static struct ibmvfc_async_crq* ibmvfc_next_async_crq(struct ibmvfc_host *vhost)
/* Returns: Pointer to next entry in queue / NULL if empty  */
static struct ibmvfc_async_crq* ibmvfc_next_async_crq(struct ibmvfc_host *vhost)
{
	struct ibmvfc_async_crq_queue *async_crq = &vhost->async_crq;
	struct ibmvfc_async_crq *crq;
	crq = &async_crq->msgs[async_crq->cur];
	if (crq->valid & 0x80) {
		if (++async_crq->cur == async_crq->size)
			async_crq->cur = 0;
	} else
		crq = NULL;
	return crq;
}