aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hw/eepro100.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/hw/eepro100.c b/hw/eepro100.c
index 03711a953f..e28fd5b945 100644
--- a/hw/eepro100.c
+++ b/hw/eepro100.c
@@ -573,6 +573,11 @@ static uint16_t eepro100_read_command(EEPRO100State * s)
}
#endif
+static bool device_supports_eTxCB(EEPRO100State * s)
+{
+ return (s->device != i82557B && s->device != i82557C);
+}
+
/* Commands that can be put in a command list entry. */
enum commands {
CmdNOp = 0,
@@ -715,7 +720,7 @@ static void eepro100_cu_command(EEPRO100State * s, uint8_t val)
} else {
/* Flexible mode. */
uint8_t tbd_count = 0;
- if ((s->device >= i82558B) && !(s->configuration[6] & BIT(4))) {
+ if (device_supports_eTxCB(s) && !(s->configuration[6] & BIT(4))) {
/* Extended Flexible TCB. */
assert(tcb_bytes == 0);
for (; tbd_count < 2; tbd_count++) {