--- src/sys/bus/cam/cam_xpt.c 2007/11/28 22:21:48 1.47 +++ src/sys/bus/cam/cam_xpt.c 2007/11/28 22:27:57 1.48 @@ -5616,7 +5616,7 @@ probedone(struct cam_periph *periph, uni switch(periph_qual) { case SID_QUAL_LU_CONNECTED: { - u_int8_t alen; + u_int8_t len; /* * We conservatively request only @@ -5628,9 +5628,11 @@ probedone(struct cam_periph *periph, uni * the amount of information the device * is willing to give. */ - alen = inq_buf->additional_length; + len = inq_buf->additional_length + + offsetof(struct scsi_inquiry_data, + additional_length) + 1; if (softc->action == PROBE_INQUIRY - && alen > (SHORT_INQUIRY_LENGTH - 5)) { + && len > SHORT_INQUIRY_LENGTH) { softc->action = PROBE_FULL_INQUIRY; xpt_release_ccb(done_ccb); xpt_schedule(periph, priority);