2022-06-23 14:24:43

by huhai

[permalink] [raw]
Subject: [PATCH] ACPI: LPSS: Fix missing check in register_device_clock

From: huhai <[email protected]>

register_device_clock() misses a check for platform_device_register_simple().
Add a check to fix it.

Signed-off-by: huhai <[email protected]>
---
drivers/acpi/acpi_lpss.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c
index fbe0756259c5..c4d4d21391d7 100644
--- a/drivers/acpi/acpi_lpss.c
+++ b/drivers/acpi/acpi_lpss.c
@@ -422,6 +422,9 @@ static int register_device_clock(struct acpi_device *adev,
if (!lpss_clk_dev)
lpt_register_clock_device();

+ if (IS_ERR(lpss_clk_dev))
+ return PTR_ERR(lpss_clk_dev);
+
clk_data = platform_get_drvdata(lpss_clk_dev);
if (!clk_data)
return -ENODEV;
--
2.27.0


No virus found
Checked by Hillstone Network AntiVirus


2022-06-23 14:26:29

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] ACPI: LPSS: Fix missing check in register_device_clock

On Thu, Jun 23, 2022 at 3:21 PM huhai <[email protected]> wrote:
>
> From: huhai <[email protected]>
>
> register_device_clock() misses a check for platform_device_register_simple().
> Add a check to fix it.
>
> Signed-off-by: huhai <[email protected]>
> ---
> drivers/acpi/acpi_lpss.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c
> index fbe0756259c5..c4d4d21391d7 100644
> --- a/drivers/acpi/acpi_lpss.c
> +++ b/drivers/acpi/acpi_lpss.c
> @@ -422,6 +422,9 @@ static int register_device_clock(struct acpi_device *adev,
> if (!lpss_clk_dev)
> lpt_register_clock_device();
>
> + if (IS_ERR(lpss_clk_dev))
> + return PTR_ERR(lpss_clk_dev);
> +

Why not use IS_ERR_OR_NULL() instead?

> clk_data = platform_get_drvdata(lpss_clk_dev);
> if (!clk_data)
> return -ENODEV;
> --
> 2.27.0
>
>
> No virus found
> Checked by Hillstone Network AntiVirus
>

2022-06-24 02:54:20

by huhai

[permalink] [raw]
Subject: Re:Re: [PATCH] ACPI: LPSS: Fix missing check in register_device_clock


At 2022-06-23 21:25:55, "Rafael J. Wysocki" <[email protected]> wrote:
>On Thu, Jun 23, 2022 at 3:21 PM huhai <[email protected]> wrote:
>>
>> From: huhai <[email protected]>
>>
>> register_device_clock() misses a check for platform_device_register_simple().
>> Add a check to fix it.
>>
>> Signed-off-by: huhai <[email protected]>
>> ---
>> drivers/acpi/acpi_lpss.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c
>> index fbe0756259c5..c4d4d21391d7 100644
>> --- a/drivers/acpi/acpi_lpss.c
>> +++ b/drivers/acpi/acpi_lpss.c
>> @@ -422,6 +422,9 @@ static int register_device_clock(struct acpi_device *adev,
>> if (!lpss_clk_dev)
>> lpt_register_clock_device();
>>
>> + if (IS_ERR(lpss_clk_dev))
>> + return PTR_ERR(lpss_clk_dev);
>> +
>
>Why not use IS_ERR_OR_NULL() instead?

platform_device_register_simple() never returns NULL as it declared bellowing??
so use IS_ERR() to validate the return value should be enough.

/**
* platform_device_register_simple - add a platform-level device and its resources
* ...
* Returns &struct platform_device pointer on success, or ERR_PTR() on error.
*/

Thanks.

>
>> clk_data = platform_get_drvdata(lpss_clk_dev);
>> if (!clk_data)
>> return -ENODEV;
>> --
>> 2.27.0
>>
>>
>> No virus found
>> Checked by Hillstone Network AntiVirus
>>

2022-06-29 18:44:57

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: Re: [PATCH] ACPI: LPSS: Fix missing check in register_device_clock

On Fri, Jun 24, 2022 at 4:35 AM huhai <[email protected]> wrote:
>
>
> At 2022-06-23 21:25:55, "Rafael J. Wysocki" <[email protected]> wrote:
> >On Thu, Jun 23, 2022 at 3:21 PM huhai <[email protected]> wrote:
> >>
> >> From: huhai <[email protected]>
> >>
> >> register_device_clock() misses a check for platform_device_register_simple().
> >> Add a check to fix it.
> >>
> >> Signed-off-by: huhai <[email protected]>
> >> ---
> >> drivers/acpi/acpi_lpss.c | 3 +++
> >> 1 file changed, 3 insertions(+)
> >>
> >> diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c
> >> index fbe0756259c5..c4d4d21391d7 100644
> >> --- a/drivers/acpi/acpi_lpss.c
> >> +++ b/drivers/acpi/acpi_lpss.c
> >> @@ -422,6 +422,9 @@ static int register_device_clock(struct acpi_device *adev,
> >> if (!lpss_clk_dev)
> >> lpt_register_clock_device();
> >>
> >> + if (IS_ERR(lpss_clk_dev))
> >> + return PTR_ERR(lpss_clk_dev);
> >> +
> >
> >Why not use IS_ERR_OR_NULL() instead?
>
> platform_device_register_simple() never returns NULL as it declared bellowing,
> so use IS_ERR() to validate the return value should be enough.
>
> /**
> * platform_device_register_simple - add a platform-level device and its resources
> * ...
> * Returns &struct platform_device pointer on success, or ERR_PTR() on error.
> */

Fair enough.

Applied as 5.20 material, thanks!