Gitweb: http://git.kernel.org/linus/4dec302ff71ebf48f5784a2d2fc5e3745e6d4d52
Commit: 4dec302ff71ebf48f5784a2d2fc5e3745e6d4d52
Parent: 25176ed670121e1e0aae5c8161713c332b786538
Author: dann frazier <dannf@hp.com>
AuthorDate: Tue Apr 21 12:24:05 2009 -0700
Committer: Linus Torvalds <torvalds@linux-foundation.org>
CommitDate: Tue Apr 21 13:41:48 2009 -0700
ipmi: add oem message handling
Enable userspace to receive messages that a BMC transmits using an OEM
medium. This is used by the HP iLO2.
Based on code originally written by Patrick Schoeller.
Signed-off-by: dann frazier <dannf@hp.com>
Signed-off-by: Corey Minyard <cminyard@mvista.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
drivers/char/ipmi/ipmi_msghandler.c | 138 +++++++++++++++++++++++++++++++++-
include/linux/ipmi.h | 2 +
include/linux/ipmi_msgdefs.h | 2 +
3 files changed, 137 insertions(+), 5 deletions(-)
diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c
index 83c7477..aa83a08 100644
--- a/drivers/char/ipmi/ipmi_msghandler.c
+++ b/drivers/char/ipmi/ipmi_msghandler.c
@@ -3284,6 +3284,114 @@ static int handle_lan_get_msg_cmd(ipmi_smi_t intf,
return rv;
}
+/*
+ * This routine will handle "Get Message" command responses with
+ * channels that use an OEM Medium. The message format belongs to
+ * the OEM. See IPMI 2.0 specification, Chapter 6 and
+ * Chapter 22, sections 22.6 and 22.24 for more details.
+ */
+static int handle_oem_get_msg_cmd(ipmi_smi_t intf,
+ struct ipmi_smi_msg *msg)
+{
+ struct cmd_rcvr *rcvr;
+ int rv = 0;
+ unsigned char netfn;
+ unsigned char cmd;
+ unsigned char chan;
+ ipmi_user_t user = NULL;
+ struct ipmi_system_interface_addr *smi_addr;
+ struct ipmi_recv_msg ...