DF-2330 / fix.diff
--- a/sys/bus/smbus/amdsmb/amdsmb.c +++ b/sys/bus/smbus/amdsmb/amdsmb.c @@ -531,6 +531,8 @@ if ((error = amdsmb_wait(sc)) == SMB_ENOERR) { amdsmb_ec_read(sc, SMB_BCNT, &len); + if (len > 32) /* data register file is 32 entries */ + len = 32; for (i = 0; i < len; i++) { amdsmb_ec_read(sc, SMB_DATA + i, &data); if (i < *count) |