aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/ipmi
diff options
context:
space:
mode:
authorCorey Minyard <cminyard@mvista.com>2007-10-18 06:07:11 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-18 17:37:32 -0400
commitd8c98618f4bb8161cc0c14e110b07ba37249332b (patch)
tree0b546c06c0b9946cdb3274c98a0a9d4c5084ea5d /drivers/char/ipmi
parentac0191517c3b5f2cf68ab36756d64ef035c4a770 (diff)
IPMI: add 0.9 support
Add support for IPMI 0.9 systems to the IPMI driver. Just handle a shorter get device ID command with less information. Signed-off-by: Corey Minyard <cminyard@mvista.com> Cc: Stian Jordet <liste@jordet.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/char/ipmi')
-rw-r--r--drivers/char/ipmi/ipmi_si_intf.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
index da09eb0ef788..4f560d0bb808 100644
--- a/drivers/char/ipmi/ipmi_si_intf.c
+++ b/drivers/char/ipmi/ipmi_si_intf.c
@@ -2380,20 +2380,9 @@ static int try_get_dev_id(struct smi_info *smi_info)
2380 /* Otherwise, we got some data. */ 2380 /* Otherwise, we got some data. */
2381 resp_len = smi_info->handlers->get_result(smi_info->si_sm, 2381 resp_len = smi_info->handlers->get_result(smi_info->si_sm,
2382 resp, IPMI_MAX_MSG_LENGTH); 2382 resp, IPMI_MAX_MSG_LENGTH);
2383 if (resp_len < 14) {
2384 /* That's odd, it should be longer. */
2385 rv = -EINVAL;
2386 goto out;
2387 }
2388
2389 if ((resp[1] != IPMI_GET_DEVICE_ID_CMD) || (resp[2] != 0)) {
2390 /* That's odd, it shouldn't be able to fail. */
2391 rv = -EINVAL;
2392 goto out;
2393 }
2394 2383
2395 /* Record info from the get device id, in case we need it. */ 2384 /* Check and record info from the get device id, in case we need it. */
2396 ipmi_demangle_device_id(resp+3, resp_len-3, &smi_info->device_id); 2385 rv = ipmi_demangle_device_id(resp, resp_len, &smi_info->device_id);
2397 2386
2398 out: 2387 out:
2399 kfree(resp); 2388 kfree(resp);