From: Andrew Cooper Date: Fri, 30 Aug 2013 08:40:29 +0000 (+0200) Subject: hvmloader/smbios: Correctly count the number of tables written X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~6436 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=4aa19549e17650b9bfe2b31d7f52a95696d388f0;p=xen.git hvmloader/smbios: Correctly count the number of tables written Fixes regression indirectly introduced by c/s 4d23036e709627 That changeset added some smbios tables which were option based on the toolstack providing appropriate xenstore keys. The do_struct() macro would unconditionally increment nr_structs, even if a table was not actually written. Signed-off-by: Andrew Cooper Acked-by: Keir Fraser --- diff --git a/tools/firmware/hvmloader/smbios.c b/tools/firmware/hvmloader/smbios.c index 3d5dc51c80..9f292ccd37 100644 --- a/tools/firmware/hvmloader/smbios.c +++ b/tools/firmware/hvmloader/smbios.c @@ -192,7 +192,8 @@ write_smbios_tables(void *ep, void *start, #define do_struct(fn) do { \ q = (fn); \ - (*nr_structs)++; \ + if ( q != p ) \ + (*nr_structs)++; \ if ( (q - p) > *max_struct_size ) \ *max_struct_size = q - p; \ p = q; \