platform/x86: intel_pmc_ipc: adding error handling
[ Upstream commit e61985d0550df8c2078310202aaad9b41049c36c ] If punit or telemetry device initialization fails, pmc driver should unregister and return failure. This change is to fix a kernel panic when removing kernel module intel_pmc_ipc. Fixes: 48c1917088ba ("platform:x86: Add Intel telemetry platform device") Signed-off-by: Junxiao Chang <junxiao.chang@intel.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
5f0c39bf7a
commit
912d341613
@ -747,13 +747,17 @@ static int ipc_create_pmc_devices(void)
|
||||
if (ret) {
|
||||
dev_err(ipcdev.dev, "Failed to add punit platform device\n");
|
||||
platform_device_unregister(ipcdev.tco_dev);
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (!ipcdev.telem_res_inval) {
|
||||
ret = ipc_create_telemetry_device();
|
||||
if (ret)
|
||||
if (ret) {
|
||||
dev_warn(ipcdev.dev,
|
||||
"Failed to add telemetry platform device\n");
|
||||
platform_device_unregister(ipcdev.punit_dev);
|
||||
platform_device_unregister(ipcdev.tco_dev);
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
Loading…
x
Reference in New Issue
Block a user