With kernel commit 0823c68b054b ("powerpc/fadump: re-register firmware-
assisted dump if already registered") support is enabled to re-register
when FADump is alredy registered. Leverage that option in kdump scripts.
Signed-off-by: Hari Bathini <hbathini(a)linux.ibm.com>
---
Changes in V3:
* Handle failure while un-register'ing in fallback method
kdumpctl | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/kdumpctl b/kdumpctl
index de6da39..eb030eb 100755
--- a/kdumpctl
+++ b/kdumpctl
@@ -1047,7 +1047,8 @@ reload()
fi
if [ $DEFAULT_DUMP_MODE == "fadump" ]; then
- stop_fadump
+ reload_fadump
+ return $?
else
stop_kdump
fi
@@ -1103,6 +1104,26 @@ stop_kdump()
return 0
}
+reload_fadump()
+{
+ echo 1 > $FADUMP_REGISTER_SYS_NODE
+ if [ $? == 0 ]; then
+ echo "fadump: re-registered successfully"
+ return 0
+ else
+ # FADump could fail on older kernel where re-register
+ # support is not enabled. Try stop/start from userspace
+ # to handle such scenario.
+ stop_fadump
+ if [ $? == 0 ]; then
+ start_fadump
+ return $?
+ fi
+ fi
+
+ return 1
+}
+
stop()
{
if [ $DEFAULT_DUMP_MODE == "fadump" ]; then