diff mbox series

fpga: machxo2-spi: return an error on failure

Message ID 20210810164036.922830-1-trix@redhat.com (mailing list archive)
State New
Headers show
Series fpga: machxo2-spi: return an error on failure | expand

Commit Message

Tom Rix Aug. 10, 2021, 4:40 p.m. UTC
From: Tom Rix <trix@redhat.com>

Reported problem

	drivers/fpga/machxo2-spi.c:229 machxo2_write_init()
	warn: missing error code 'ret'

	drivers/fpga/machxo2-spi.c:316 machxo2_write_complete()
	warn: missing error code 'ret'

Earlier successes leave 'ret' in a non error state, so these errors are
not reported.  So set ret to -EINVAL before going to the error handler.

Fixes: 88fb3a002330 ("fpga: lattice machxo2: Add Lattice MachXO2 support")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Tom Rix <trix@redhat.com>
---
 drivers/fpga/machxo2-spi.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Greg Kroah-Hartman Aug. 10, 2021, 5:06 p.m. UTC | #1
On Tue, Aug 10, 2021 at 09:40:36AM -0700, trix@redhat.com wrote:
> From: Tom Rix <trix@redhat.com>
> 
> Reported problem
> 
> 	drivers/fpga/machxo2-spi.c:229 machxo2_write_init()
> 	warn: missing error code 'ret'
> 
> 	drivers/fpga/machxo2-spi.c:316 machxo2_write_complete()
> 	warn: missing error code 'ret'

What reported this?  What does it mean?  Where was it reported?

please be specific...

thanks,

greg k-h
Dan Carpenter Aug. 10, 2021, 6:51 p.m. UTC | #2
On Tue, Aug 10, 2021 at 07:06:09PM +0200, Greg KH wrote:
> On Tue, Aug 10, 2021 at 09:40:36AM -0700, trix@redhat.com wrote:
> > From: Tom Rix <trix@redhat.com>
> > 
> > Reported problem
> > 
> > 	drivers/fpga/machxo2-spi.c:229 machxo2_write_init()
> > 	warn: missing error code 'ret'
> > 
> > 	drivers/fpga/machxo2-spi.c:316 machxo2_write_complete()
> > 	warn: missing error code 'ret'
> 
> What reported this?  What does it mean?  Where was it reported?

These are Smatch errors, but my bug reports don't mention Smatch so
that's on me.  I've fixed my report templated to mention Smatch now.

regards,
dan carepenter
Moritz Fischer Aug. 11, 2021, 11:29 a.m. UTC | #3
On Tue, Aug 10, 2021 at 09:51:16PM +0300, Dan Carpenter wrote:
> On Tue, Aug 10, 2021 at 07:06:09PM +0200, Greg KH wrote:
> > On Tue, Aug 10, 2021 at 09:40:36AM -0700, trix@redhat.com wrote:
> > > From: Tom Rix <trix@redhat.com>
> > > 
> > > Reported problem
> > > 
> > > 	drivers/fpga/machxo2-spi.c:229 machxo2_write_init()
> > > 	warn: missing error code 'ret'
> > > 
> > > 	drivers/fpga/machxo2-spi.c:316 machxo2_write_complete()
> > > 	warn: missing error code 'ret'
> > 
> > What reported this?  What does it mean?  Where was it reported?
> 
> These are Smatch errors, but my bug reports don't mention Smatch so
> that's on me.  I've fixed my report templated to mention Smatch now.
> 
> regards,
> dan carepenter
> 
> 
Applied with slightly reworded commit-message to 'fixes' branch.

Thanks,
Moritz
diff mbox series

Patch

diff --git a/drivers/fpga/machxo2-spi.c b/drivers/fpga/machxo2-spi.c
index 1afb41aa20d71..b4a530a31302f 100644
--- a/drivers/fpga/machxo2-spi.c
+++ b/drivers/fpga/machxo2-spi.c
@@ -225,8 +225,10 @@  static int machxo2_write_init(struct fpga_manager *mgr,
 		goto fail;
 
 	get_status(spi, &status);
-	if (test_bit(FAIL, &status))
+	if (test_bit(FAIL, &status)) {
+		ret = -EINVAL;
 		goto fail;
+	}
 	dump_status_reg(&status);
 
 	spi_message_init(&msg);
@@ -313,6 +315,7 @@  static int machxo2_write_complete(struct fpga_manager *mgr,
 	dump_status_reg(&status);
 	if (!test_bit(DONE, &status)) {
 		machxo2_cleanup(mgr);
+		ret = -EINVAL;
 		goto fail;
 	}