| From e65b526affa621b50646cafdf6b06505af07032e Mon Sep 17 00:00:00 2001 |
| From: Sourabh Jain <sourabhjain@linux.ibm.com> |
| Date: Mon, 27 Jul 2026 11:04:15 +0530 |
| Subject: powerpc/pseries: Handle and log pseries-wdt registration failures |
| |
| From: Sourabh Jain <sourabhjain@linux.ibm.com> |
| |
| commit e65b526affa621b50646cafdf6b06505af07032e upstream. |
| |
| The pseries watchdog initialization registers the pseries-wdt platform |
| device using platform_device_register_simple(), but currently ignores |
| its return value. |
| |
| Check the returned pointer for errors, log a descriptive error message |
| when registration fails, and propagate the failure code to the caller. |
| This avoids silently ignoring platform device registration failures. |
| |
| Cc: stable@vger.kernel.org |
| Reviewed-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com> |
| Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com> |
| Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com> |
| Link: https://patch.msgid.link/20260727053416.276317-3-sourabhjain@linux.ibm.com |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| arch/powerpc/platforms/pseries/setup.c | 14 ++++++++++++-- |
| 1 file changed, 12 insertions(+), 2 deletions(-) |
| |
| --- a/arch/powerpc/platforms/pseries/setup.c |
| +++ b/arch/powerpc/platforms/pseries/setup.c |
| @@ -192,8 +192,18 @@ static void __init fwnmi_init(void) |
| */ |
| static __init int pseries_wdt_init(void) |
| { |
| - if (firmware_has_feature(FW_FEATURE_WATCHDOG)) |
| - platform_device_register_simple("pseries-wdt", 0, NULL, 0); |
| + struct platform_device *pdev; |
| + |
| + if (!firmware_has_feature(FW_FEATURE_WATCHDOG)) |
| + return 0; |
| + |
| + pdev = platform_device_register_simple("pseries-wdt", 0, NULL, 0); |
| + |
| + if (IS_ERR(pdev)) { |
| + pr_err("Failed to register pseries-wdt platform device\n"); |
| + return PTR_ERR(pdev); |
| + } |
| + |
| return 0; |
| } |
| machine_subsys_initcall(pseries, pseries_wdt_init); |