Skip to contentSkip to conversation

Bluetooth: vhci: manage mutex with cleanup helpers

PATCH In review Yo-Jung (Leo) Lin 3 participants 3 messages Aug 13, 2024 Bluetooth drivers

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Bluetooth: vhci: manage mutex with cleanup helpers

Use macros in liunx/cleanup.h for automatic resource cleanup.

---
 drivers/bluetooth/hci_vhci.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
drivers/bluetooth/hci_vhci.c +4 -3
index c4046f8f1985..70f0c28372ec 100644
@@ -19,6 +19,7 @@
 #include <linux/errno.h>
 #include <linux/sched.h>
 #include <linux/poll.h>
+#include <linux/cleanup.h>
 
 #include <linux/skbuff.h>
 #include <linux/miscdevice.h>
@@ -468,9 +469,9 @@ static int vhci_create_device(struct vhci_data *data, __u8 opcode)
 {
 	int err;
 
-	mutex_lock(&data->open_mutex);
-	err = __vhci_create_device(data, opcode);
-	mutex_unlock(&data->open_mutex);
+	scoped_guard(mutex, &data->open_mutex) {
+		err = __vhci_create_device(data, opcode);
+	}
 
 	return err;
 }
Signature · 1 line
2.34.1
#1 lore raw
Quoted 1 line · Yo-Jung (Leo) Lin

Use macros in liunx/cleanup.h for automatic resource cleanup.

That says what you do, but not _why_ you want to do it.

Quoted 19 lines
---
 drivers/bluetooth/hci_vhci.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
drivers/bluetooth/hci_vhci.c +1 -0
index c4046f8f1985..70f0c28372ec 100644
@@ -19,6 +19,7 @@
 #include <linux/errno.h>
 #include <linux/sched.h>
 #include <linux/poll.h>
+#include <linux/cleanup.h>
 
 #include <linux/skbuff.h>
 #include <linux/miscdevice.h>

drivers/bluetooth/hci_vhci.c static int vhci_create_device(struct vhci_data *data, __u8 opcode) · line 474

Quoted 9 lines
drivers/bluetooth/hci_vhci.c +3 -3
@@ -468,9 +469,9 @@ static int vhci_create_device(struct vhci_data *data, __u8 opcode)
 {
 	int err;
 
-	mutex_lock(&data->open_mutex);
-	err = __vhci_create_device(data, opcode);
-	mutex_unlock(&data->open_mutex);
+	scoped_guard(mutex, &data->open_mutex) {
+		err = __vhci_create_device(data, opcode);
+	}

This isn't correct, but also, it's not needed at all :(

greg k-h

#2 lore raw
In reply to Yo-Jung (Leo) Lin

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list. This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=879205

---Test result---

Test Summary:

CheckPatch                    PASS      0.61 seconds
GitLint                       PASS      0.58 seconds
SubjectPrefix                 PASS      0.11 seconds
BuildKernel                   PASS      29.42 seconds
CheckAllWarning               PASS      31.78 seconds
CheckSparse                   PASS      37.59 seconds
CheckSmatch                   PASS      103.26 seconds
BuildKernel32                 PASS      28.48 seconds
TestRunnerSetup               PASS      528.42 seconds
TestRunner_l2cap-tester       PASS      22.26 seconds
TestRunner_iso-tester         PASS      31.00 seconds
TestRunner_bnep-tester        PASS      5.00 seconds
TestRunner_mgmt-tester        PASS      110.45 seconds
TestRunner_rfcomm-tester      PASS      7.62 seconds
TestRunner_sco-tester         PASS      15.23 seconds
TestRunner_ioctl-tester       PASS      8.13 seconds
TestRunner_mesh-tester        PASS      6.13 seconds
TestRunner_smp-tester         PASS      7.04 seconds
TestRunner_userchan-tester    PASS      8.52 seconds
IncrementalBuild              PASS      28.73 seconds

---
Regards,
Linux Bluetooth