Re: [PATCH] platform/surface: aggregator: Fix event disable function

From: Hans de Goede
Date: Thu Jun 03 2021 - 07:07:15 EST


Hi,

On 6/3/21 2:06 AM, Maximilian Luz wrote:
> Disabling events silently fails due to the wrong command ID being used.
> Instead of the command ID for the disable call, the command ID for the
> enable call was being used. This causes the disable call to enable the
> event instead. As the event is already enabled when we call this
> function, the EC silently drops this command and does nothing.
>
> Use the correct command ID for disabling the event to fix this.
>
> Fixes: c167b9c7e3d6 ("platform/surface: Add Surface Aggregator subsystem")
> Signed-off-by: Maximilian Luz <luzmaximilian@xxxxxxxxx>

Thank you for your patch, I've applied this patch to my review-hans
branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans

I'll also add this to the fixes branch, so that it gets included
in my next pull-req to Linus for 5.13.

Note it will show up in my review-hans branch once I've pushed my
local branch there, which might take a while.

Once I've run some tests on this branch the patches there will be
added to the platform-drivers-x86/for-next branch and eventually
will be included in the pdx86 pull-request to Linus for the next
merge-window.

Regards,

Hans

> ---
> drivers/platform/surface/aggregator/controller.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/platform/surface/aggregator/controller.c b/drivers/platform/surface/aggregator/controller.c
> index 8a70df60142c..a06964aa96e7 100644
> --- a/drivers/platform/surface/aggregator/controller.c
> +++ b/drivers/platform/surface/aggregator/controller.c
> @@ -1907,7 +1907,7 @@ static int ssam_ssh_event_disable(struct ssam_controller *ctrl,
> {
> int status;
>
> - status = __ssam_ssh_event_request(ctrl, reg, reg.cid_enable, id, flags);
> + status = __ssam_ssh_event_request(ctrl, reg, reg.cid_disable, id, flags);
>
> if (status < 0 && status != -EINVAL) {
> ssam_err(ctrl,
>