Use macros in liunx/cleanup.h for automatic resource cleanup. Signed-off-by: Yo-Jung (Leo) Lin <0xff07@xxxxxxxxx> --- 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