diff --git a/drivers/scsi/g_NCR5380.c b/drivers/scsi/g_NCR5380.c index cd79ef402d7a88fe6981bccd4565c735da158d96..454b565c0417bba2e477991df24435b8b98241a4 100644 --- a/drivers/scsi/g_NCR5380.c +++ b/drivers/scsi/g_NCR5380.c @@ -702,6 +702,10 @@ static int generic_NCR5380_dma_xfer_len(struct scsi_cmnd *cmd) !(cmd->SCp.this_residual % transfersize)) transfersize = 32 * 1024; + /* 53C400 datasheet: non-modulo-128-byte transfers should use PIO */ + if (transfersize % 128) + transfersize = 0; + return transfersize; }