Index: sys/dev/aacraid/aacraid.c =================================================================== --- sys/dev/aacraid/aacraid.c +++ sys/dev/aacraid/aacraid.c @@ -893,7 +893,7 @@ AAC_MEM0_SETREG4(sc, AAC_SRC_ODBR_C, bellbits); if (bellbits_shifted & AAC_DB_AIF_PENDING) mode |= AAC_INT_MODE_AIF; - else if (bellbits_shifted & AAC_DB_SYNC_COMMAND) + if (bellbits_shifted & AAC_DB_SYNC_COMMAND) mode |= AAC_INT_MODE_SYNC; } /* ODR readback, Prep #238630 */ @@ -914,7 +914,10 @@ sc->flags &= ~AAC_QUEUE_FRZN; sc->aac_sync_cm = NULL; } - mode = 0; + if (mode & AAC_INT_MODE_INTX) + mode &= ~AAC_INT_MODE_SYNC; + else + mode = 0; } if (mode & AAC_INT_MODE_AIF) { @@ -924,6 +927,9 @@ } } + if (sc->flags & AAC_FLAGS_SYNC_MODE) + mode = 0; + if (mode) { /* handle async. status */ index = sc->aac_host_rrq_idx[vector_no];