diff --git a/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c b/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c index 530a2d9..2b601ef 100644 --- a/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c +++ b/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c @@ -2167,7 +2167,11 @@ 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) == 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; }