summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorCorey Minyard <corey@minyard.net>2025-04-22 20:06:02 +0300
committerCorey Minyard <corey@minyard.net>2025-05-08 01:25:48 +0300
commit6f7f6605c9aeb472b5d4101b263b1fc5dc3cf623 (patch)
treeb8c7a7608b9863e5100afbe31c5169ed4c2eea46 /include/linux
parentbe816bc4f8413f227a48278f14693674d9296fe2 (diff)
downloadlinux-6f7f6605c9aeb472b5d4101b263b1fc5dc3cf623.tar.xz
ipmi:msghandler: Export and fix panic messaging capability
Don't have the other users that do things at panic time (the watchdog) do all this themselves, provide a function to do it. Also, with the new design where most stuff happens at thread context, a few things needed to be fixed to avoid doing locking in a panic context. Signed-off-by: Corey Minyard <cminyard@mvista.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/ipmi.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/ipmi.h b/include/linux/ipmi.h
index 27cd5980bb27..7da6602eab71 100644
--- a/include/linux/ipmi.h
+++ b/include/linux/ipmi.h
@@ -344,4 +344,14 @@ extern int ipmi_get_smi_info(int if_num, struct ipmi_smi_info *data);
/* Helper function for computing the IPMB checksum of some data. */
unsigned char ipmb_checksum(unsigned char *data, int size);
+/*
+ * For things that must send messages at panic time, like the IPMI watchdog
+ * driver that extends the reset time on a panic, use this to send messages
+ * from panic context. Note that this puts the driver into a mode that
+ * only works at panic time, so only use it then.
+ */
+void ipmi_panic_request_and_wait(struct ipmi_user *user,
+ struct ipmi_addr *addr,
+ struct kernel_ipmi_msg *msg);
+
#endif /* __LINUX_IPMI_H */