diff options
author | pfg <pfg@FreeBSD.org> | 2016-04-07 21:33:14 +0000 |
---|---|---|
committer | pfg <pfg@FreeBSD.org> | 2016-04-07 21:33:14 +0000 |
commit | 0edb0feb114b38da0cb99f67e8cceb76d7a3cee8 (patch) | |
tree | 293384234ffce3600a2f72a2336c3216fd5ceeb6 /sys/cam | |
parent | f6e1e7db8cd3d145b4a3cd526016ca225b7621a0 (diff) | |
download | FreeBSD-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.c | 12 |
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); /* |