diff options
author | Marius Strobl <marius@FreeBSD.org> | 2021-01-21 22:34:19 +0000 |
---|---|---|
committer | Marius Strobl <marius@FreeBSD.org> | 2021-01-21 23:18:39 +0000 |
commit | e60a0db3b8c922f9bcd085f737508a9cb4eb7f29 (patch) | |
tree | b6e5d36642bbbdff08410cf87fd79c57922eb745 | |
parent | c62ee7332e4dc5a9c4cbec47c967b94f8abf1981 (diff) | |
download | src-e60a0db3b8c922f9bcd085f737508a9cb4eb7f29.tar.gz src-e60a0db3b8c922f9bcd085f737508a9cb4eb7f29.zip |
sym(4): fix nits reported by Coverity
- In ___dma_getp(), remove dead code. [1]
- In sym_sir_bad_scsi_status(), add missing FALLTHROUGH. [2]
While at it:
- For getbaddrcb(), remove __unused from the nseg argument as it's in
fact used when compiling with INVARIANTS.
- In sym_int_sir(), ensure in all branches that cp is not NULL before
using it.
Reported by: Coverity
CID: 1008861 [1], 114996 [2]
-rw-r--r-- | sys/dev/sym/sym_hipd.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/dev/sym/sym_hipd.c b/sys/dev/sym/sym_hipd.c index 45a9452dbd81..f1c058f75c52 100644 --- a/sys/dev/sym/sym_hipd.c +++ b/sys/dev/sym/sym_hipd.c @@ -571,8 +571,7 @@ static void sym_mfree(void *ptr, int size, char *name) * BUS handle. A reverse table (hashed) is maintained for virtual * to BUS address translation. */ -static void getbaddrcb(void *arg, bus_dma_segment_t *segs, int nseg __unused, - int error) +static void getbaddrcb(void *arg, bus_dma_segment_t *segs, int nseg, int error) { bus_addr_t *baddr; @@ -610,8 +609,6 @@ static m_addr_t ___dma_getp(m_pool_s *mp) return (m_addr_t) vaddr; } out_err: - if (baddr) - bus_dmamap_unload(mp->dmat, vbp->dmamap); if (vaddr) bus_dmamem_free(mp->dmat, vaddr, vbp->dmamap); if (vbp) @@ -4680,6 +4677,7 @@ static void sym_sir_bad_scsi_status(hcb_p np, ccb_p cp) PRINT_ADDR(cp); printf (s_status == S_BUSY ? "BUSY" : "QUEUE FULL\n"); } + /* FALLTHROUGH */ default: /* S_INT, S_INT_COND_MET, S_CONFLICT */ sym_complete_error (np, cp); break; @@ -6003,6 +6001,8 @@ static void sym_int_sir (hcb_p np) * or has been auto-sensed. */ case SIR_COMPLETE_ERROR: + if (!cp) + goto out; sym_complete_error(np, cp); return; /* @@ -6228,6 +6228,8 @@ static void sym_int_sir (hcb_p np) * Target does not want answer message. */ case SIR_NEGO_PROTO: + if (!cp) + goto out; sym_nego_default(np, tp, cp); goto out; } |