diff options
author | Andrew Cooper <andrew.cooper3@citrix.com> | 2013-09-09 11:47:44 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-09-09 11:47:44 +0200 |
commit | 7ccd12c64bf54baa6d9379b561dc02d0ea15f83a (patch) | |
tree | 72ec40285a145ed575576e0397f96251480e597c | |
parent | 5cec8d231f8e203fc72f8e45852b5d29527439e3 (diff) | |
download | xen-7ccd12c64bf54baa6d9379b561dc02d0ea15f83a.tar.gz xen-7ccd12c64bf54baa6d9379b561dc02d0ea15f83a.tar.bz2 xen-7ccd12c64bf54baa6d9379b561dc02d0ea15f83a.zip |
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 <andrew.cooper3@citrix.com>
Acked-by: Keir Fraser <keir@xen.org>
master commit: 4aa19549e17650b9bfe2b31d7f52a95696d388f0
master date: 2013-08-30 10:40:29 +0200
-rw-r--r-- | tools/firmware/hvmloader/smbios.c | 3 |
1 files changed, 2 insertions, 1 deletions
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; \ |