[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20211222215615.GA9361@localhost.localdomain>
Date: Thu, 23 Dec 2021 10:56:15 +1300
From: Paulo Miguel Almeida <paulo.miguel.almeida.rodenas@...il.com>
To: gregkh@...uxfoundation.org, realwakka@...il.com,
paulo.miguel.almeida.rodenas@...il.com
Cc: linux-staging@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: [PATCH v2] staging: pi433: add comment to rx_lock mutex definition
Checkpatch reports: CHECK: struct mutex definition without comment.
Fix this by documenting what rx_mutex struct is used for in pi433 driver.
Signed-off-by: Paulo Miguel Almeida <paulo.miguel.almeida.rodenas@...il.com>
---
v2: ellaborate on reasons why the mutex lock is used in the driver (Req: Greg k-h)
v1: https://lore.kernel.org/lkml/20211222093626.GA13332@localhost.localdomain/
---
drivers/staging/pi433/pi433_if.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/staging/pi433/pi433_if.c b/drivers/staging/pi433/pi433_if.c
index 29bd37669059..1cd3d5f2df2a 100644
--- a/drivers/staging/pi433/pi433_if.c
+++ b/drivers/staging/pi433/pi433_if.c
@@ -92,6 +92,17 @@ struct pi433_device {
u32 rx_bytes_to_drop;
u32 rx_bytes_dropped;
unsigned int rx_position;
+ /*
+ * rx_lock is used to avoid race-conditions that can be triggered from userspace.
+ *
+ * For instance, if a program in userspace is reading the char device
+ * allocated in this module then another program won't be able to change RX
+ * configuration of the RF69 hardware module via ioctl and vice versa.
+ *
+ * utilization summary:
+ * - pi433_read: blocks are read until rx read something (up to the buffer size)
+ * - pi433_ioctl: during pending read request, change of config not allowed
+ */
struct mutex rx_lock;
wait_queue_head_t rx_wait_queue;
--
2.25.4
Powered by blists - more mailing lists