aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/pmcraid.c
diff options
context:
space:
mode:
authorOndrej Zary <[email protected]>2017-07-03 07:59:06 +0000
committerMartin K. Petersen <[email protected]>2017-08-07 18:04:00 +0000
commit99a974e6b8b0734fd2f5d8185e640aba0d6da06f (patch)
treee6cd80216efa3409984f6f3634b096fd7fdcc3f8 /drivers/scsi/pmcraid.c
parentscsi: g_NCR5380: Use unambiguous terminology for PDMA send and receive (diff)
downloadkernel-99a974e6b8b0734fd2f5d8185e640aba0d6da06f.tar.gz
kernel-99a974e6b8b0734fd2f5d8185e640aba0d6da06f.zip
scsi: g_NCR5380: Re-work PDMA loops
The polling loops in pread() and pwrite() can easily become infinite loops and hang the machine. Merge the IRQ check into host buffer wait loop and add polling limit. Also place a limit on polling for 53C80 registers accessibility. [Use NCR5380_poll_politely2() for register polling. Rely on polling for gated IRQ rather than polling for phase error, like the algorithm in the 53c400 datasheet. Move DTC436 workarounds into a separate patch. Factor-out common code as wait_for_53c80_access(). Rework the residual calculations. -- F.T.] Signed-off-by: Ondrej Zary <[email protected]> Signed-off-by: Finn Thain <[email protected]> Tested-by: Ondrej Zary <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
Diffstat (limited to 'drivers/scsi/pmcraid.c')
0 files changed, 0 insertions, 0 deletions