mirror of https://gitee.com/openkylin/qemu.git
dp8393x: Clear RRRA command register bit only when appropriate
It doesn't make sense to clear the command register bit unless the command was actually issued. Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Laurent Vivier <laurent@vivier.eu> Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
parent
5b0c98fcb7
commit
a3cce2825a
|
@ -352,9 +352,6 @@ static void dp8393x_do_read_rra(dp8393xState *s)
|
|||
s->regs[SONIC_ISR] |= SONIC_ISR_RBE;
|
||||
dp8393x_update_irq(s);
|
||||
}
|
||||
|
||||
/* Done */
|
||||
s->regs[SONIC_CR] &= ~SONIC_CR_RRRA;
|
||||
}
|
||||
|
||||
static void dp8393x_do_software_reset(dp8393xState *s)
|
||||
|
@ -565,8 +562,10 @@ static void dp8393x_do_command(dp8393xState *s, uint16_t command)
|
|||
dp8393x_do_start_timer(s);
|
||||
if (command & SONIC_CR_RST)
|
||||
dp8393x_do_software_reset(s);
|
||||
if (command & SONIC_CR_RRRA)
|
||||
if (command & SONIC_CR_RRRA) {
|
||||
dp8393x_do_read_rra(s);
|
||||
s->regs[SONIC_CR] &= ~SONIC_CR_RRRA;
|
||||
}
|
||||
if (command & SONIC_CR_LCAM)
|
||||
dp8393x_do_load_cam(s);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue