diff --git a/3B2/3b2_if.c b/3B2/3b2_if.c index bf2119c2..e3d3c0f4 100644 --- a/3B2/3b2_if.c +++ b/3B2/3b2_if.c @@ -554,6 +554,12 @@ void if_write(uint32 pa, uint32 val, size_t size) if_state.cmd = (uint8) val; /* Writing to the command register always de-asserts the IRQ line */ if_clear_irq(); + + if ((uptr->flags & UNIT_ATT) == 0) { + /* If not attached, do nothing */ + break; + } + if_handle_command(); break; case IF_TRACK_REG: