On Fri, Oct 08, 2021 at 01:15:58AM +0100, Colin King wrote: > From: Colin Ian King <colin.king@xxxxxxxxxxxxx> > > There is an error return path where the error return is being > assigned to err rather than count and the error exit path does > not return -EAGAIN as expected. Fix this by setting the error > return to variable count as this is the value that is returned > at the end of the function. > > Addresses-Coverity: ("Unused value") > Fixes: 00c4da27a421 ("carl9170: firmware parser and debugfs code") > Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> > --- > drivers/net/wireless/ath/carl9170/debug.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/wireless/ath/carl9170/debug.c b/drivers/net/wireless/ath/carl9170/debug.c > index bb40889d7c72..f163c6bdac8f 100644 > --- a/drivers/net/wireless/ath/carl9170/debug.c > +++ b/drivers/net/wireless/ath/carl9170/debug.c > @@ -628,7 +628,7 @@ static ssize_t carl9170_debugfs_bug_write(struct ar9170 *ar, const char *buf, > > case 'R': > if (!IS_STARTED(ar)) { > - err = -EAGAIN; > + count = -EAGAIN; > goto out; This is ugly. The bug wouldn't have happened with a direct return, it's only the goto out which causes it. Better to replace all the error paths with direct returns. There are two other direct returns so it's not like a new thing... Goto out on the success path is fine here, though. regards, dan carpenter