Hi,
Instead of passing sizeof(struct aml_value)*4 as the len argument to
memset when writing zeros to osc_cmd, pass sizeof(osc_cmd) since osc_cmd
already is declared as 'struct aml_value osc_cmd[4]'.

Tested on amd64.

Index: acpicpu.c
===================================================================
RCS file: /cvs/src/sys/dev/acpi/acpicpu.c,v
retrieving revision 1.78
diff -u -p -r1.78 acpicpu.c
--- acpicpu.c   18 Sep 2016 23:56:45 -0000      1.78
+++ acpicpu.c   2 Apr 2017 08:24:52 -0000
@@ -240,7 +240,7 @@ acpicpu_set_pdc(struct acpicpu_softc *sc
 
        if (aml_searchname(sc->sc_devnode, "_OSC")) {
                /* Query _OSC */
-               memset(&osc_cmd, 0, sizeof(cmd) * 4);
+               memset(&osc_cmd, 0, sizeof(osc_cmd));
                osc_cmd[0].type = AML_OBJTYPE_BUFFER;
                osc_cmd[0].v_buffer = (uint8_t *)&cpu_oscuuid;
                osc_cmd[0].length = sizeof(cpu_oscuuid);
@@ -269,7 +269,7 @@ acpicpu_set_pdc(struct acpicpu_softc *sc
                }
 
                /* Evaluate _OSC */
-               memset(&osc_cmd, 0, sizeof(cmd) * 4);
+               memset(&osc_cmd, 0, sizeof(osc_cmd));
                osc_cmd[0].type = AML_OBJTYPE_BUFFER;
                osc_cmd[0].v_buffer = (uint8_t *)&cpu_oscuuid;
                osc_cmd[0].length = sizeof(cpu_oscuuid);

Reply via email to