Re: [PATCH 2/4] powerpc/vas: Fix cleanup when VAS is not configured
From: Sukadev Bhattiprolu <hidden>
Date: 2018-02-12 20:25:19
Also in:
lkml
Michael Ellerman [mpe@ellerman.id.au] wrote:
Sukadev Bhattiprolu [off-list ref] writes:quoted
When VAS is not configured in the system, make sure to remove the VAS debugfs directory and unregister the platform driver. Signed-off-by: Sukadev Bhattiprolu <redacted>...quoted
diff --git a/arch/powerpc/platforms/powernv/vas.c b/arch/powerpc/platforms/powernv/vas.c index aebbe95..f83e27d8 100644 --- a/arch/powerpc/platforms/powernv/vas.c +++ b/arch/powerpc/platforms/powernv/vas.c@@ -169,8 +169,11 @@ static int __init vas_init(void) found++; } - if (!found) + if (!found) { + platform_driver_unregister(&vas_driver); + vas_cleanup_dbgdir(); return -ENODEV; + }The better patch would be to move the call to vas_init_dbgdir() down here, where we know we have successfully registered the driver.
Well, when VAS is configured, init_vas_instance() expects the top level "vas" debugfs dir to already be setup. We could have each init_vas_instance() assume it is the first and unconditionally call vas_init_dbgdir(). vas_init_dbgdir() could make sure to initialize only once. Or, we could make a separate pass countng "ibm,vas" nodes. If there are none, skip both steps (dbgdir and registering platform driver). Sukadev