Hi James,
Quoting James Bottomley <jejb@xxxxxxxxxxxxxxxxxx>:
On Wed, 2017-05-17 at 19:30 -0500, Gustavo A. R. Silva wrote:
Remove this assignment once the value stored in variable _k_ is
overwritten after a few lines.
Addresses-Coverity-ID: 1226927
Signed-off-by: Gustavo A. R. Silva <garsilva@xxxxxxxxxxxxxx>
---
drivers/scsi/qlogicfas408.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/scsi/qlogicfas408.c
b/drivers/scsi/qlogicfas408.c
index c3a9151..269440a 100644
--- a/drivers/scsi/qlogicfas408.c
+++ b/drivers/scsi/qlogicfas408.c
@@ -329,7 +329,6 @@ static unsigned int ql_pcmd(struct scsi_cmnd
*cmd)
*/
if ((k = ql_wai(priv)))
return (k << 16);
- k = inb(qbase + 5); /* should be 0x10, bus
service */
That doesn't look right to me. inb() is a statement which has an
effect on the I/O device regardless of whether the returned value is
used or discarded. In this case I think it's being used to clear
pending interrupts, so removing it will likely cause a phase error.
You are right, I get it.
In this case I think a patch to ignore the return value could be applied:
index c3a9151..8f5339a 100644
--- a/drivers/scsi/qlogicfas408.c
+++ b/drivers/scsi/qlogicfas408.c
@@ -329,7 +329,7 @@ static unsigned int ql_pcmd(struct scsi_cmnd *cmd)
*/
if ((k = ql_wai(priv)))
return (k << 16);
- k = inb(qbase + 5); /* should be 0x10, bus service */
+ inb(qbase + 5); /* should be 0x10, bus service */
}
What do you think?
Thank you for the clarification.
--
Gustavo A. R. Silva