qemu-e2k/include
Markus Armbruster f26740c61a smbus: Fix spd_data_generate() error API violation
The Error ** argument must be NULL, &error_abort, &error_fatal, or a
pointer to a variable containing NULL.  Passing an argument of the
latter kind twice without clearing it in between is wrong: if the
first call sets an error, it no longer points to NULL for the second
call.

spd_data_generate() can pass @errp to error_setg() more than once when
it adjusts both memory size and type.  Harmless, because no caller
passes anything that needs adjusting.  Until the previous commit,
sam460ex passed types that needed adjusting, but not sizes.

spd_data_generate()'s contract is rather awkward:

    If everything's fine, return non-null and don't set an error.

    Else, if memory size or type need adjusting, return non-null and
    set an error describing the adjustment.

    Else, return null and set an error reporting why no data can be
    generated.

Its callers treat the error as a warning even when null is returned.
They don't create the "smbus-eeprom" device then.  Suspicious.

Since the previous commit, only "everything's fine" can actually
happen.  Drop the unused code and simplify the callers.  This gets rid
of the error API violation.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200422134815.1584-3-armbru@redhat.com>
2020-04-29 08:01:52 +02:00
..
authz
block aio-wait: delegate polling of main AioContext if BQL not held 2020-04-09 16:16:28 +01:00
chardev chardev: Use QEMUChrEvent enum in IOEventHandler typedef 2020-01-08 11:15:35 +01:00
crypto luks: extract qcrypto_block_calculate_payload_offset() 2020-03-11 12:42:29 +01:00
disas target/rx: RX disassembler 2020-03-19 17:58:05 +01:00
exec gdbstub: Introduce gdb_get_float32() to get 32-bit float registers 2020-04-15 11:38:23 +01:00
fpu
hw smbus: Fix spd_data_generate() error API violation 2020-04-29 08:01:52 +02:00
io io: Fix Error usage in a comment <example> 2019-12-18 08:36:15 +01:00
libdecnumber
migration migration: Support QLIST migration 2020-01-20 09:10:23 +01:00
monitor monitor/hmp: move hmp_info_block* to block-hmp-cmds.c 2020-03-09 18:20:21 +00:00
net hw/net/can: Make CanBusClientInfo::can_receive() return a boolean 2020-03-31 21:14:35 +08:00
qapi qmp: constify QmpCommand and list 2020-03-17 21:43:12 +01:00
qemu qemu-img: Move is_valid_option_list() to qemu-img.c and rewrite 2020-04-29 08:01:52 +02:00
qom qom/object: enable setter for uint types 2020-03-16 23:02:23 +01:00
scsi
standard-headers linux-headers: update 2020-02-26 18:57:07 +01:00
sysemu block: Increase BB.in_flight for coroutine and sync interfaces 2020-04-07 15:40:41 +02:00
tcg misc: Replace zero-length arrays with flexible array member (automatic) 2020-03-16 22:07:42 +01:00
ui display/gtk: get proper refreshrate 2020-01-14 07:26:36 +01:00
user linux-user: Include trace-root.h in syscall-trace.h 2020-01-15 15:13:09 -10:00
elf.h target/arm/arch_dump: Add SVE notes 2020-01-23 15:34:04 +00:00
glib-compat.h
qemu-common.h Update copyright date for user-facing copyright strings 2020-03-22 11:16:21 +00:00
qemu-io.h
trace-tcg.h