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

Commit 5fb72d40 authored by Sriharsha Allenki's avatar Sriharsha Allenki
Browse files

usb: typec: Fix setting of invalid value of opmode



Setting opmode to invalid values would lead to a
paging fault failure when there is an access to the
power_operation_mode.

Prevent this by checking the validity of the value
that the opmode is being set.

Change-Id: I9ada1ad4aeeca08d3072a5738f5fa48537a2cecf
Signed-off-by: default avatarSriharsha Allenki <sallenki@codeaurora.org>
parent 7ed67e67
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1378,7 +1378,8 @@ void typec_set_pwr_opmode(struct typec_port *port,
{
	struct device *partner_dev;

	if (port->pwr_opmode == opmode)
	if ((port->pwr_opmode == opmode) || (opmode < TYPEC_PWR_MODE_USB) ||
						(opmode > TYPEC_PWR_MODE_MAX))
		return;

	port->pwr_opmode = opmode;
+1 −0
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ enum typec_pwr_opmode {
	TYPEC_PWR_MODE_1_5A,
	TYPEC_PWR_MODE_3_0A,
	TYPEC_PWR_MODE_PD,
	TYPEC_PWR_MODE_MAX = TYPEC_PWR_MODE_PD,
};

enum typec_accessory {