[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <nycvar.YFH.7.76.2409111526450.31206@cbobk.fhfr.pm>
Date: Wed, 11 Sep 2024 15:27:32 +0200 (CEST)
From: Jiri Kosina <jikos@...nel.org>
To: Dmitry Torokhov <dmitry.torokhov@...il.com>
cc: ". Benjamin Tissoires" <bentiss@...nel.org>,
Douglas Anderson <dianders@...omium.org>,
Hans de Goede <hdegoede@...hat.com>, Kenny Levinsen <kl@...wtf>,
linux-input@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] HID: i2c-hid: ensure various commands do not interfere
with each other
On Mon, 9 Sep 2024, Dmitry Torokhov wrote:
> i2c-hid uses 2 shared buffers: command and "raw" input buffer for
> sending requests to peripherals and read data from peripherals when
> executing variety of commands. Such commands include reading of HID
> registers, requesting particular power mode, getting and setting
> reports and so on. Because all such requests use the same 2 buffers
> they should not execute simultaneously.
>
> Fix this by introducing "cmd_lock" mutex and acquire it whenever
> we needs to access ihid->cmdbuf or idid->rawbuf.
>
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@...il.com>
Thanks for the fix, Dmitry. Out of curiosity, did you find it by code
inspection, or have you actually seen it happening for real, making the
driver misbehave?
Thanks,
--
Jiri Kosina
SUSE Labs
Powered by blists - more mailing lists