Hi Jerry, On Tue, 28 Mar 2023 19:06:51 -0600, Jerry Hoemann wrote: > HPE OEM record type 237 offset 0x09 field was changed from a single > byte STRING to a two byte WORD representing date. > > Fixes: cdab638dabb7 ("dmioem: Decode HPE OEM Record 237") > Signed-off-by: Jerry Hoemann <jerry.hoem...@hpe.com> > --- > dmioem.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/dmioem.c b/dmioem.c > index dc4b857..2746e15 100644 > --- a/dmioem.c > +++ b/dmioem.c > @@ -1094,7 +1094,8 @@ static int dmi_decode_hp(const struct dmi_header *h) > * 0x06 | Manufacture|STRING | DIMM Manufacturer > * 0x07 | Part Number|STRING | DIMM Manufacturer's > Part Number > * 0x08 | Serial Num |STRING | DIMM Vendor Serial > Number > - * 0x09 | Spare Part |STRING | DIMM Spare Part Number > + * 0x09 | Man Date | BYTE | DIMM Manufacture Date > (YEAR) in BCD > + * 0x0A | Man Date | BYTE | DIMM Manufacture Date > (WEEK) in BCD > */ > if (gen < G9) return 0; > pr_handle_name("%s DIMM Vendor Information", company); > @@ -1105,8 +1106,9 @@ static int dmi_decode_hp(const struct dmi_header *h) > pr_attr("DIMM Manufacturer Part Number", "%s", > dmi_string(h, data[0x07])); > if (h->length < 0x09) break; > pr_attr("DIMM Vendor Serial Number", "%s", > dmi_string(h, data[0x08])); > - if (h->length < 0x0A) break; > - pr_attr("DIMM Spare Part Number", "%s", dmi_string(h, > data[0x09])); > + if (h->length < 0x0B) break; > + if (WORD(data + 0x09)) > + pr_attr("DIMM Manufacture Date", > "20%02x-W%02x", data[0x09], data[0x0A]); > break; > > case 238:
Applied, thanks. -- Jean Delvare SUSE L3 Support