Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6d117752 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: cvp: avoid checking read_idx again"

parents 43ee6abd ccf45201
Loading
Loading
Loading
Loading
+12 −8
Original line number Diff line number Diff line
@@ -723,6 +723,9 @@ static int __read_queue(struct cvp_iface_q_info *qinfo, u8 *packet,
		 */
		mb();
		*pb_tx_req_is_set = 0;
		if (write_idx != queue->qhdr_write_idx) {
			queue->qhdr_rx_req = 0;
		} else {
			spin_unlock(&qinfo->hfi_lock);
			dprintk(CVP_DBG,
				"%s queue is empty, rx_req = %u, tx_req = %u, read_idx = %u\n",
@@ -731,6 +734,7 @@ static int __read_queue(struct cvp_iface_q_info *qinfo, u8 *packet,
				queue->qhdr_read_idx);
			return -ENODATA;
		}
	}

	read_ptr = (u32 *)((qinfo->q_array.align_virtual_addr) +
				(read_idx << 2));
@@ -773,7 +777,7 @@ static int __read_queue(struct cvp_iface_q_info *qinfo, u8 *packet,
		rc = -ENODATA;
	}

	if (read_idx != write_idx)
	if (new_read_idx != queue->qhdr_write_idx)
		queue->qhdr_rx_req = 0;
	else
		queue->qhdr_rx_req = receive_request;