The size of the operation is an argument to the respective functions, and has nothing to do with sizeof(val).
Cc: Jason Wang <[email protected]> Cc: Dmitry Fleytman <[email protected]> Signed-off-by: Richard Henderson <[email protected]> --- hw/net/e1000e.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/net/e1000e.c b/hw/net/e1000e.c index a8a77eca95..ea3347fbb4 100644 --- a/hw/net/e1000e.c +++ b/hw/net/e1000e.c @@ -145,7 +145,7 @@ e1000e_io_read(void *opaque, hwaddr addr, unsigned size) return s->ioaddr; case E1000_IODATA: if (e1000e_io_get_reg_index(s, &idx)) { - val = e1000e_core_read(&s->core, idx, sizeof(val)); + val = e1000e_core_read(&s->core, idx, size); trace_e1000e_io_read_data(idx, val); return val; } @@ -171,7 +171,7 @@ e1000e_io_write(void *opaque, hwaddr addr, case E1000_IODATA: if (e1000e_io_get_reg_index(s, &idx)) { trace_e1000e_io_write_data(idx, val); - e1000e_core_write(&s->core, idx, val, sizeof(val)); + e1000e_core_write(&s->core, idx, val, size); } return; default: -- 2.25.1
