summaryrefslogtreecommitdiff
path: root/drivers/scsi
diff options
context:
space:
mode:
authorAlex Henrie <alexhenrie24@gmail.com>2023-08-31 08:19:42 +0300
committerMartin K. Petersen <martin.petersen@oracle.com>2023-09-05 12:26:49 +0300
commit31a0865bf593e59c4433a3624b4c87c40049ed9a (patch)
treeae7209039406236fdff3fca7862fa3186c5888a3 /drivers/scsi
parent0b0747d507bffb827e40fc0f9fb5883fffc23477 (diff)
downloadlinux-31a0865bf593e59c4433a3624b4c87c40049ed9a.tar.xz
scsi: ppa: Fix accidentally reversed conditions for 16-bit and 32-bit EPP
The conditions were correct in the ppa_in() function but not in the ppa_out() function. Fixes: 68a4f84a17c1 ("scsi: ppa: Add a module parameter for the transfer mode") Signed-off-by: Alex Henrie <alexhenrie24@gmail.com> Link: https://lore.kernel.org/r/20230831051945.515476-1-alexhenrie24@gmail.com Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/ppa.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/scsi/ppa.c b/drivers/scsi/ppa.c
index 19f0b93fa3d8..d592ee9170c1 100644
--- a/drivers/scsi/ppa.c
+++ b/drivers/scsi/ppa.c
@@ -307,9 +307,9 @@ static int ppa_out(ppa_struct *dev, char *buffer, int len)
case PPA_EPP_8:
epp_reset(ppb);
w_ctr(ppb, 0x4);
- if (dev->mode == PPA_EPP_32 && !(((long) buffer | len) & 0x01))
+ if (dev->mode == PPA_EPP_32 && !(((long) buffer | len) & 0x03))
outsl(ppb + 4, buffer, len >> 2);
- else if (dev->mode == PPA_EPP_16 && !(((long) buffer | len) & 0x03))
+ else if (dev->mode == PPA_EPP_16 && !(((long) buffer | len) & 0x01))
outsw(ppb + 4, buffer, len >> 1);
else
outsb(ppb + 4, buffer, len);