drivers/bluetooth/hci_vhci.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
Use macros in liunx/cleanup.h for automatic resource cleanup.
Signed-off-by: Yo-Jung (Leo) Lin <0xff07@gmail.com>
---
drivers/bluetooth/hci_vhci.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/bluetooth/hci_vhci.c b/drivers/bluetooth/hci_vhci.c
index c4046f8f1985..70f0c28372ec 100644
--- a/drivers/bluetooth/hci_vhci.c
+++ b/drivers/bluetooth/hci_vhci.c
@@ -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;
}
--
2.34.1
On Tue, Aug 13, 2024 at 08:18:28PM +0800, Yo-Jung (Leo) Lin wrote:
> Use macros in liunx/cleanup.h for automatic resource cleanup.
That says what you do, but not _why_ you want to do it.
>
> Signed-off-by: Yo-Jung (Leo) Lin <0xff07@gmail.com>
> ---
> drivers/bluetooth/hci_vhci.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/bluetooth/hci_vhci.c b/drivers/bluetooth/hci_vhci.c
> index c4046f8f1985..70f0c28372ec 100644
> --- a/drivers/bluetooth/hci_vhci.c
> +++ b/drivers/bluetooth/hci_vhci.c
> @@ -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);
> + }
This isn't correct, but also, it's not needed at all :(
greg k-h
© 2016 - 2026 Red Hat, Inc.