diff options
author | Corey Minyard <cminyard@mvista.com> | 2007-10-18 06:07:11 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-18 17:37:32 -0400 |
commit | d8c98618f4bb8161cc0c14e110b07ba37249332b (patch) | |
tree | 0b546c06c0b9946cdb3274c98a0a9d4c5084ea5d /drivers/char/ipmi | |
parent | ac0191517c3b5f2cf68ab36756d64ef035c4a770 (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.c | 15 |
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); |