Commit 8bccf667 authored by Dmitry Torokhov's avatar Dmitry Torokhov
Browse files

Input: cypress_ps2 - report timeouts when reading command status

Report -ETIMEDOUT error code from cypress_ps2_read_cmd_status() when
device does not send enough data within the allotted time in response
to a command.

Link: https://lore.kernel.org/r/20240628224728.2180126-3-dmitry.torokhov@gmail.com


Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent e8688b93
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -115,9 +115,12 @@ static int cypress_ps2_read_cmd_status(struct psmouse *psmouse,
	if (rc < 0)
		goto out;

	wait_event_timeout(ps2dev->wait,
			(psmouse->pktcnt >= pktsize),
			msecs_to_jiffies(CYTP_CMD_TIMEOUT));
	if (!wait_event_timeout(ps2dev->wait,
				psmouse->pktcnt >= pktsize,
				msecs_to_jiffies(CYTP_CMD_TIMEOUT))) {
		rc = -ETIMEDOUT;
		goto out;
	}

	memcpy(param, psmouse->packet, pktsize);