OSDN Git Service

platform/surface: dtx: Add missing mutex_destroy() call in failure path
authorMaximilian Luz <luzmaximilian@gmail.com>
Fri, 4 Jun 2021 13:25:40 +0000 (15:25 +0200)
committerHans de Goede <hdegoede@redhat.com>
Fri, 4 Jun 2021 20:00:27 +0000 (22:00 +0200)
When we fail to open the device file due to DTX being shut down, the
mutex is initialized but never destroyed. We are destroying it when
releasing the file, so add the missing call in the failure path as well.

Fixes: 1d609992832e ("platform/surface: Add DTX driver")
Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
Link: https://lore.kernel.org/r/20210604132540.533036-1-luzmaximilian@gmail.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/platform/surface/surface_dtx.c

index 5d9b758..1203b9a 100644 (file)
@@ -427,6 +427,7 @@ static int surface_dtx_open(struct inode *inode, struct file *file)
         */
        if (test_bit(SDTX_DEVICE_SHUTDOWN_BIT, &ddev->flags)) {
                up_write(&ddev->client_lock);
+               mutex_destroy(&client->read_lock);
                sdtx_device_put(client->ddev);
                kfree(client);
                return -ENODEV;