diff options
author | Alex Henrie <alexhenrie24@gmail.com> | 2023-08-30 23:19:42 -0600 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2023-09-05 05:26:49 -0400 |
commit | 31a0865bf593e59c4433a3624b4c87c40049ed9a (patch) | |
tree | ae7209039406236fdff3fca7862fa3186c5888a3 /drivers/scsi/ppa.c | |
parent | 0b0747d507bffb827e40fc0f9fb5883fffc23477 (diff) |
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/ppa.c')
-rw-r--r-- | drivers/scsi/ppa.c | 4 |
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); |