aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/ipmi
diff options
context:
space:
mode:
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);