Re: [PATCH] surface: surface3-wmi: Simplify resource management

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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>

Right, that input_free_device(s3_wmi.input) seems wrong. Patch looks
good to me.

Reviewed-by: Maximilian Luz <luzmaximilian@xxxxxxxxx>

---
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)



[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux