diff options
author | ken <ken@FreeBSD.org> | 2001-09-03 05:04:47 +0000 |
---|---|---|
committer | ken <ken@FreeBSD.org> | 2001-09-03 05:04:47 +0000 |
commit | 57634a38ed176c8088bfccfe76ad0f159d77686f (patch) | |
tree | be9adb2de84da5770ad049b8a721cd856bff96b9 /sys/cam | |
parent | 5e41b2c07ef6d079a583808f0b617dd6e742bc76 (diff) | |
download | FreeBSD-src-57634a38ed176c8088bfccfe76ad0f159d77686f.zip FreeBSD-src-57634a38ed176c8088bfccfe76ad0f159d77686f.tar.gz |
Attach to a CD device even when the SCSI status is 'busy'.
Reported by: Thomas Quinot <thomas@cuivre.fr.eu.org>
MFC after: 3 weeks
Diffstat (limited to 'sys/cam')
-rw-r--r-- | sys/cam/scsi/scsi_cd.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/cam/scsi/scsi_cd.c b/sys/cam/scsi/scsi_cd.c index ded1d1a..923b4bd 100644 --- a/sys/cam/scsi/scsi_cd.c +++ b/sys/cam/scsi/scsi_cd.c @@ -1715,6 +1715,16 @@ cddone(struct cam_periph *periph, union ccb *done_ccb) "size failed: %s, %s", sense_key_desc, asc_desc); + } else if ((have_sense == 0) + && ((status & CAM_STATUS_MASK) == + CAM_SCSI_STATUS_ERROR) + && (csio->scsi_status == + SCSI_STATUS_BUSY)) { + snprintf(announce_buf, + sizeof(announce_buf), + "Attempt to query device " + "size failed: SCSI Status: %s", + scsi_status_string(csio)); } else if (SID_TYPE(&cgd.inq_data) == T_CDROM) { /* * We only print out an error for |