https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=226510
--- Comment #16 from Warner Losh <i...@freebsd.org> --- It looks like we're not releasing the DA_REF_TUR. We clear it, but don't release, then see if it is set and clear it and release. This isn't going to work out too well, so always release when we clear the work flag. diff --git a/sys/cam/scsi/scsi_da.c b/sys/cam/scsi/scsi_da.c index 4bcddbb8dff9..beeda8d90f79 100644 --- a/sys/cam/scsi/scsi_da.c +++ b/sys/cam/scsi/scsi_da.c @@ -3114,6 +3114,7 @@ dastart(struct cam_periph *periph, union ccb *start_ccb) if (bp == NULL) { if (cam_iosched_has_work_flags(softc->cam_iosched, DA_WORK_TUR)) { cam_iosched_clr_work_flags(softc->cam_iosched, DA_WORK_TUR); + da_periph_release_locked(periph, DA_REF_TUR); scsi_test_unit_ready(&start_ccb->csio, /*retries*/ da_retry_count, dadone, @@ -3139,11 +3140,6 @@ dastart(struct cam_periph *periph, union ccb *start_ccb) } } - if (cam_iosched_has_work_flags(softc->cam_iosched, DA_WORK_TUR)) { - cam_iosched_clr_work_flags(softc->cam_iosched, DA_WORK_TUR); - da_periph_release_locked(periph, DA_REF_TUR); - } - if ((bp->bio_flags & BIO_ORDERED) != 0 || (softc->flags & DA_FLAG_NEED_OTAG) != 0) { softc->flags &= ~DA_FLAG_NEED_OTAG; -- You are receiving this mail because: You are the assignee for the bug. _______________________________________________ freebsd-bugs@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"