mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
scsi: Fix a harmless double shift bug
Smatch generates a warning:
drivers/scsi/scsi_lib.c:1656 scsi_mq_done() warn: test_bit() takes a bit number
The problem is that SCMD_STATE_COMPLETE is supposed to be bit number 0
and not a mask like "(1 << 0)". It is used like this:
if (test_and_set_bit(SCMD_STATE_COMPLETE, &scmd->state))
The test_and_set_bit() has a shift built in so it's a double left shift
and uses bit number 1 instead of number 0. This bug is harmless because
it's done consistently and it doesn't clash with any other flags.
Fixes: f1342709d1 ("scsi: Do not rely on blk-mq for double completions")
Reviewed-by: Keith Busch <[email protected]>
Acked-by: Martin K. Petersen <[email protected]>
Signed-off-by: Dan Carpenter <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
This commit is contained in:
parent
3236b458c4
commit
29cadd2bb6
1 changed files with 1 additions and 1 deletions
|
|
@ -62,7 +62,7 @@ struct scsi_pointer {
|
|||
#define SCMD_PRESERVED_FLAGS (SCMD_UNCHECKED_ISA_DMA | SCMD_INITIALIZED)
|
||||
|
||||
/* for scmd->state */
|
||||
#define SCMD_STATE_COMPLETE (1 << 0)
|
||||
#define SCMD_STATE_COMPLETE 0
|
||||
|
||||
struct scsi_cmnd {
|
||||
struct scsi_request req;
|
||||
|
|
|
|||
Loading…
Reference in a new issue