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 5d9b758a99bbc8c8a2616406ece312db8d3f615b..1203b9a829939abb954e67b4371d7ff0c66fbe82 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;