diff --git a/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c b/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c index b79e10c1db7..9eeeea5ecb1 100644 --- a/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c +++ b/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c @@ -2031,7 +2031,12 @@ storvsc_io_done(struct hv_storvsc_request *reqp) * If there are errors, for example, invalid LUN, * host will inform VM through SRB status. */ - ccb->ccb_h.status |= CAM_SEL_TIMEOUT; + if (storvsc_get_storage_type(sc->hs_dev->device) == + DRIVER_STORVSC) { + ccb->ccb_h.status |= CAM_SEL_TIMEOUT; + } else { + ccb->ccb_h.status |= CAM_DEV_NOT_THERE; + } } else { ccb->ccb_h.status |= CAM_REQ_CMP; }