kern/151586: [patch] [ipmi] Incorrect firmware version printed at boot time

Andrew Boyer aboyer at averesystems.com
Tue Oct 19 21:50:08 UTC 2010


>Number:         151586
>Category:       kern
>Synopsis:       [patch] [ipmi] Incorrect firmware version printed at boot time
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Oct 19 21:50:07 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Andrew Boyer
>Release:        head
>Organization:
Avere Systems
>Environment:
N/A
>Description:
The ipmi driver prints out some status information when the driver loads:
ipmi0: <IPMI System Interface> on isa0
ipmi0: KCS mode found at io 0xca2 alignment 0x1 on isa
ipmi0: IPMI device rev. 1, firmware rev. 1.2, version 2.0
ipmi0: Number of channels 8

I noticed that the 'firmware rev' is not correct.  In this case, the rev should be 1.60 (hex) or 1.96 (dec).

The wrong byte is used in the printf statement.  See IPMI 2.0 spec 1.0 Table 20-2 on page 240.
>How-To-Repeat:
Compare the printed firmware rev to the installed firmware.
>Fix:
--- a/src/sys/dev/ipmi/ipmi.c
+++ b/src/sys/dev/ipmi/ipmi.c
@@ -726,7 +726,7 @@ ipmi_startup(void *arg)
        device_printf(dev, "IPMI device rev. %d, firmware rev. %d.%d, "
            "version %d.%d\n",
             req->ir_reply[1] & 0x0f,
-            req->ir_reply[2] & 0x0f, req->ir_reply[4],
+            req->ir_reply[2] & 0x0f, req->ir_reply[3],
             req->ir_reply[4] & 0x0f, req->ir_reply[4] >> 4);
 
        ipmi_free_request(req);


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list