[PATCH] dmatest: fix merge error resulting in incorrect count handling

From: Paul Gortmaker
Date: Wed Jan 18 2012 - 19:22:20 EST


We currently see this warning:

drivers/dma/dmatest.c: In function âdmatest_add_channelâ:
drivers/dma/dmatest.c:602:28: warning: the omitted middle operand
in ?: will always be âtrueâ, suggest explicit middle operand [-Wparentheses]

It happens because commit f1aef8b6e6abf32a3a269542f95a19e2cb319f6c

"dmaengine: dmatest: correct thread_count while using multiple thread per channel"

fixed the only two instances of this issue in the code, but then the
commit 58691d64c44ae41ddf098ecb31e9a994026e3cff "dmatest: add pq support"
was based on the old (unfixed) code, and so it reintroduced an instance
of this error. Using git describe, the baseline delta is apparent:

dmatest: correct thread_count v2.6.30-8-gf1aef8b
dmatest: add pq support v2.6.29-rc8-80-g58691d6

Inspection of f1aef8b and/or the surrounding code leads one to the
obvious fix.

Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
CC: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
CC: Dan Williams <dan.j.williams@xxxxxxxxx>
CC: Vinod Koul <vinod.koul@xxxxxxxxx>

---

[After creating this patch, I noticed it came up before in the
lkml archives, but a fix never got applied. At least now the
real root cause is documented in this commit log.]

diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c
index 2b8661b..24225f0 100644
--- a/drivers/dma/dmatest.c
+++ b/drivers/dma/dmatest.c
@@ -599,7 +599,7 @@ static int dmatest_add_channel(struct dma_chan *chan)
}
if (dma_has_cap(DMA_PQ, dma_dev->cap_mask)) {
cnt = dmatest_add_threads(dtc, DMA_PQ);
- thread_count += cnt > 0 ?: 0;
+ thread_count += cnt > 0 ? cnt : 0;
}

pr_info("dmatest: Started %u threads using %s\n",
--
1.7.7.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/