As the possible failure of the devres_alloc(), the devm_ioremap() may return NULL pointer. And then, the 'clk_data->base' will be assigned to clkdev->data->base in platform_device_register_data(). And the PTR_ERR_OR_ZERO() can not detect the 'base'. Therefore, it should be better to add the check in order to guarantee the success of the setup. Fixes: 3f4ba94e3615 ("ACPI: APD: Add AMD misc clock handler support") Signed-off-by: Jiasheng Jiang <jiasheng@xxxxxxxxxxx> --- drivers/acpi/acpi_apd.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/acpi/acpi_apd.c b/drivers/acpi/acpi_apd.c index 6e02448d15d9..9db6409ecb47 100644 --- a/drivers/acpi/acpi_apd.c +++ b/drivers/acpi/acpi_apd.c @@ -95,6 +95,8 @@ static int fch_misc_setup(struct apd_private_data *pdata) resource_size(rentry->res)); break; } + if (!clk_data->base) + return -ENOMEM; acpi_dev_free_resource_list(&resource_list); -- 2.25.1