diff options
author | Sumit Saxena <sumit.saxena@broadcom.com> | 2016-11-09 02:59:42 -0800 |
---|---|---|
committer | Sasha Levin <alexander.levin@verizon.com> | 2016-12-02 10:17:05 -0500 |
commit | 41a83f7482d6281db0c47430235343c2cf024d59 (patch) | |
tree | 0fd784a16e99facb418dadc45505806f703e0dc3 /drivers | |
parent | ac3d826bef907afe35f80ecccbcdd57223df4b88 (diff) | |
download | linux-stable-41a83f7482d6281db0c47430235343c2cf024d59.tar.gz linux-stable-41a83f7482d6281db0c47430235343c2cf024d59.tar.bz2 linux-stable-41a83f7482d6281db0c47430235343c2cf024d59.zip |
scsi: megaraid_sas: fix macro MEGASAS_IS_LOGICAL to avoid regression
[ Upstream commit 5e5ec1759dd663a1d5a2f10930224dd009e500e8 ]
This patch will fix regression caused by commit 1e793f6fc0db ("scsi:
megaraid_sas: Fix data integrity failure for JBOD (passthrough)
devices").
The problem was that the MEGASAS_IS_LOGICAL macro did not have braces
and as a result the driver ended up exposing a lot of non-existing SCSI
devices (all SCSI commands to channels 1,2,3 were returned as
SUCCESS-DID_OK by driver).
[mkp: clarified patch description]
Fixes: 1e793f6fc0db920400574211c48f9157a37e3945
Reported-by: Jens Axboe <axboe@kernel.dk>
CC: stable@vger.kernel.org
Signed-off-by: Kashyap Desai <kashyap.desai@broadcom.com>
Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com>
Tested-by: Sumit Saxena <sumit.saxena@broadcom.com>
Reviewed-by: Tomas Henzl <thenzl@redhat.com>
Tested-by: Jens Axboe <axboe@fb.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/scsi/megaraid/megaraid_sas.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/megaraid/megaraid_sas.h b/drivers/scsi/megaraid/megaraid_sas.h index a49914de4b95..4cf75e01c498 100644 --- a/drivers/scsi/megaraid/megaraid_sas.h +++ b/drivers/scsi/megaraid/megaraid_sas.h @@ -1823,7 +1823,7 @@ struct megasas_instance_template { }; #define MEGASAS_IS_LOGICAL(scp) \ - (scp->device->channel < MEGASAS_MAX_PD_CHANNELS) ? 0 : 1 + ((scp->device->channel < MEGASAS_MAX_PD_CHANNELS) ? 0 : 1) #define MEGASAS_DEV_INDEX(inst, scp) \ ((scp->device->channel % 2) * MEGASAS_MAX_DEV_PER_CHANNEL) + \ |