Hi, On 6/4/21 3:25 PM, Maximilian Luz wrote: > 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@xxxxxxxxx> Thank you for your patch, I've applied this patch to my review-hans branch: https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans I'll also add this to the fixes branch, so that it gets included in my next pull-req to Linus for 5.13. Note it will show up in my review-hans branch once I've pushed my local branch there, which might take a while. Once I've run some tests on this branch the patches there will be added to the platform-drivers-x86/for-next branch and eventually will be included in the pdx86 pull-request to Linus for the next merge-window. Regards, Hans > --- > drivers/platform/surface/surface_dtx.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/platform/surface/surface_dtx.c b/drivers/platform/surface/surface_dtx.c > index 5d9b758a99bb..1203b9a82993 100644 > --- a/drivers/platform/surface/surface_dtx.c > +++ b/drivers/platform/surface/surface_dtx.c > @@ -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; >