The function fluke_get_dma_residue returns an error as a negative value. So the return type must not be unsigned. This was detected by Coverity, CID 1600782 Signed-off-by: Kees Bakker <kees@xxxxxxxxxxxx> --- v1 -> v2: change type of `residue` var; add note about Coverity CID in commit message v2 -> v3: add version in the subject (sorry Greg) drivers/staging/gpib/eastwood/fluke_gpib.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/gpib/eastwood/fluke_gpib.c b/drivers/staging/gpib/eastwood/fluke_gpib.c index f9f149db222d..3843e986f104 100644 --- a/drivers/staging/gpib/eastwood/fluke_gpib.c +++ b/drivers/staging/gpib/eastwood/fluke_gpib.c @@ -536,7 +536,7 @@ static int fluke_accel_write(gpib_board_t *board, uint8_t *buffer, size_t length return 0; } -static unsigned int fluke_get_dma_residue(struct dma_chan *chan, dma_cookie_t cookie) +static int fluke_get_dma_residue(struct dma_chan *chan, dma_cookie_t cookie) { struct dma_tx_state state; int result; @@ -549,7 +549,7 @@ static unsigned int fluke_get_dma_residue(struct dma_chan *chan, dma_cookie_t co dmaengine_tx_status(chan, cookie, &state); // hardware doesn't support resume, so dont call this // method unless the dma transfer is done. - return state.residue; + return (int)state.residue; } static int fluke_dma_read(gpib_board_t *board, uint8_t *buffer, @@ -559,7 +559,7 @@ static int fluke_dma_read(gpib_board_t *board, uint8_t *buffer, struct nec7210_priv *nec_priv = &e_priv->nec7210_priv; int retval = 0; unsigned long flags; - unsigned int residue; + int residue; dma_addr_t bus_address; struct dma_async_tx_descriptor *tx_desc; dma_cookie_t dma_cookie; -- 2.47.0