Hi, On 1/30/22 09:36, Christophe JAILLET wrote: > 's3_wmi.input' is a managed resource, so there should be no need to free it > explicitly. > > Moreover, 's3_wmi' is a global variable. 's3_wmi.input' should be NULL > when this error handling path is executed, because it has not been > assigned yet. > > All this is puzzling. So simplify it and remove a few lines of code to have > it be more straightforward. > > Fixes: 3dda3b3798f9 ("platform/x86: Add custom surface3 platform device for controlling LID") > Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> 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 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 > --- > Compile tested only > --- > drivers/platform/surface/surface3-wmi.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/drivers/platform/surface/surface3-wmi.c b/drivers/platform/surface/surface3-wmi.c > index 09ac9cfc40d8..b9a4b2d81f4b 100644 > --- a/drivers/platform/surface/surface3-wmi.c > +++ b/drivers/platform/surface/surface3-wmi.c > @@ -190,14 +190,11 @@ static int s3_wmi_create_and_register_input(struct platform_device *pdev) > > error = input_register_device(input); > if (error) > - goto out_err; > + return error; > > s3_wmi.input = input; > > return 0; > - out_err: > - input_free_device(s3_wmi.input); > - return error; > } > > static int __init s3_wmi_probe(struct platform_device *pdev) >