From: Dan Carpenter <dan.carpenter@linaro.org>
To: Sridhar Arra <sridhar.arra@yahoo.com>
Cc: vireshk@kernel.org, johan@kernel.org, elder@kernel.org,
gregkh@linuxfoundation.org, greybus-dev@lists.linaro.org,
linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/2] [PATCH v2 1/2] staging: greybus: fw-management: Add detailed mutex comment
Date: Mon, 28 Apr 2025 20:06:45 +0300 [thread overview]
Message-ID: <01975294-1073-4263-a201-0f68781fbb6a@stanley.mountain> (raw)
In-Reply-To: <20250428160837.664000-1-sridhar.arra@yahoo.com>
On Mon, Apr 28, 2025 at 09:38:36PM +0530, Sridhar Arra wrote:
> Added a detailed comment explaining the role of the mutex
> in serializing firmware management ioctl() operations.
> The mutex prevents concurrent access to firmware operations
> and protects the 'disabled' state flag during disconnection.
>
> Signed-off-by: Sridhar Arra <sridhar.arra@yahoo.com>
> ---
> drivers/staging/greybus/fw-management.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/drivers/staging/greybus/fw-management.c b/drivers/staging/greybus/fw-management.c
> index a47385175582..56725b711a17 100644
> --- a/drivers/staging/greybus/fw-management.c
> +++ b/drivers/staging/greybus/fw-management.c
> @@ -28,6 +28,19 @@ struct fw_mgmt {
>
> /* Common id-map for interface and backend firmware requests */
> struct ida id_map;
> + /*
> + * Mutex to serialize firmware management ioctl() operations and
> + * protect against concurrent access.
"serialize" and "protect against concurrent access" are the same thing.
> + *
> + * Ensures that user-space cannot perform multiple firmware
> + * operations in parallel (e.g., updating interface firmware)
"Ensures that user-space cannot perform multiple firmware operations in
parallel" also is the same as serializing.
What does "updating interface firmware" mean in this context? It's
not really even true... There are other places poking at the firmware
that don't take the lock (so this lock on it's own doesn't ensure that).
> + * for the same Interface, avoiding race conditions and reducing
> + * code complexity.
"avoiding race conditions" also means serialize. It doesn't "reduce
code complexity".
> + *
> + * Also protects the 'disabled' state flag, preventing new
> + * operations from starting when the firmware management
> + * connection is being disconnected.
Yep. That's true.
I guess (from reading the code without much background) that we can
use the fw_mgmt_ioctl() to set some configuration options until
the FW_MGMT_IOC_MODE_SWITCH ioctl is called. So this lock enforces
those rules. You can only call fw_mgmt_ioctl() one at time until
either FW_MGMT_IOC_MODE_SWITCH is done or we disconnect, which
ever is first.
regards,
dan carpenter
prev parent reply other threads:[~2025-04-28 17:06 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20250428160837.664000-1-sridhar.arra.ref@yahoo.com>
2025-04-28 16:08 ` Sridhar Arra
2025-04-28 16:08 ` [PATCH v2 2/2] [PATCH V2 2/2] staging: greybus: fix indentation in fw_mgmt_ioctl() Sridhar Arra
2025-04-28 16:59 ` [PATCH v2 1/2] [PATCH v2 1/2] staging: greybus: fw-management: Add detailed mutex comment Greg KH
2025-04-28 17:06 ` Dan Carpenter [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=01975294-1073-4263-a201-0f68781fbb6a@stanley.mountain \
--to=dan.carpenter@linaro.org \
--cc=elder@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=greybus-dev@lists.linaro.org \
--cc=johan@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
--cc=sridhar.arra@yahoo.com \
--cc=vireshk@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®