aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/cam/scsi/scsi_da.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/cam/scsi/scsi_da.c b/sys/cam/scsi/scsi_da.c
index d3fd2befc003..5eb0458f6097 100644
--- a/sys/cam/scsi/scsi_da.c
+++ b/sys/cam/scsi/scsi_da.c
@@ -938,7 +938,9 @@ daopen(struct disk *dp)
if (error != 0)
xpt_print(periph->path, "unable to retrieve capacity data");
- if (periph->flags & CAM_PERIPH_INVALID)
+ if (periph->flags & CAM_PERIPH_INVALID ||
+ softc->disk->d_sectorsize == 0 ||
+ softc->disk->d_mediasize == 0)
error = ENXIO;
if (error == 0 && (softc->flags & DA_FLAG_PACK_REMOVABLE) != 0 &&