mirror of https://github.com/xemu-project/xemu.git
e1000e: Avoid hw_error if legacy mode used
https://bugzilla.redhat.com/show_bug.cgi?id=1787142 The emulation issues hw_error if PSRCTL register is written, for example, with zero value. Such configuration does not present any problem when DTYP bits of RCTL register define legacy format of transfer descriptors. Current commit discards check for BSIZE0 and BSIZE1 when legacy mode used. Acked-by: Dmitry Fleytman <dmitry.fleytman@gmail.com> Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
parent
c2279bd0a1
commit
b559ea95ea
|
@ -2813,12 +2813,15 @@ e1000e_set_eitr(E1000ECore *core, int index, uint32_t val)
|
|||
static void
|
||||
e1000e_set_psrctl(E1000ECore *core, int index, uint32_t val)
|
||||
{
|
||||
if ((val & E1000_PSRCTL_BSIZE0_MASK) == 0) {
|
||||
hw_error("e1000e: PSRCTL.BSIZE0 cannot be zero");
|
||||
}
|
||||
if (core->mac[RCTL] & E1000_RCTL_DTYP_MASK) {
|
||||
|
||||
if ((val & E1000_PSRCTL_BSIZE1_MASK) == 0) {
|
||||
hw_error("e1000e: PSRCTL.BSIZE1 cannot be zero");
|
||||
if ((val & E1000_PSRCTL_BSIZE0_MASK) == 0) {
|
||||
hw_error("e1000e: PSRCTL.BSIZE0 cannot be zero");
|
||||
}
|
||||
|
||||
if ((val & E1000_PSRCTL_BSIZE1_MASK) == 0) {
|
||||
hw_error("e1000e: PSRCTL.BSIZE1 cannot be zero");
|
||||
}
|
||||
}
|
||||
|
||||
core->mac[PSRCTL] = val;
|
||||
|
|
Loading…
Reference in New Issue