summaryrefslogtreecommitdiffstats
path: root/sys/cam
diff options
context:
space:
mode:
authorpfg <pfg@FreeBSD.org>2016-04-07 21:33:14 +0000
committerpfg <pfg@FreeBSD.org>2016-04-07 21:33:14 +0000
commit0edb0feb114b38da0cb99f67e8cceb76d7a3cee8 (patch)
tree293384234ffce3600a2f72a2336c3216fd5ceeb6 /sys/cam
parentf6e1e7db8cd3d145b4a3cd526016ca225b7621a0 (diff)
downloadFreeBSD-src-0edb0feb114b38da0cb99f67e8cceb76d7a3cee8.zip
FreeBSD-src-0edb0feb114b38da0cb99f67e8cceb76d7a3cee8.tar.gz
chdone(): Prevent returning uninitialized scalar value.
Improve over the solution in r297527: Instead of attempting to initialize all the possible cases, just move the check nearer to the case where it makes sense. CID: 1006486 Reviewed by: ken MFC after: 2 weeks
Diffstat (limited to 'sys/cam')
-rw-r--r--sys/cam/scsi/scsi_ch.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/sys/cam/scsi/scsi_ch.c b/sys/cam/scsi/scsi_ch.c
index 8e069db..59ec6aa 100644
--- a/sys/cam/scsi/scsi_ch.c
+++ b/sys/cam/scsi/scsi_ch.c
@@ -648,10 +648,14 @@ chdone(struct cam_periph *periph, union ccb *done_ccb)
softc->sc_counts[CHET_IE],
PLURAL(softc->sc_counts[CHET_IE]));
#undef PLURAL
+ if (announce_buf[0] != '\0') {
+ xpt_announce_periph(periph, announce_buf);
+ xpt_announce_quirks(periph, softc->quirks,
+ CH_Q_BIT_STRING);
+ }
} else {
int error;
- announce_buf[0] = '\0';
error = cherror(done_ccb, CAM_RETRY_SELTO,
SF_RETRY_UA | SF_NO_PRINT);
/*
@@ -715,14 +719,8 @@ chdone(struct cam_periph *periph, union ccb *done_ccb)
cam_periph_invalidate(periph);
- announce_buf[0] = '\0';
}
}
- if (announce_buf[0] != '\0') {
- xpt_announce_periph(periph, announce_buf);
- xpt_announce_quirks(periph, softc->quirks,
- CH_Q_BIT_STRING);
- }
softc->state = CH_STATE_NORMAL;
free(mode_header, M_SCSICH);
/*
OpenPOWER on IntegriCloud