Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1559367
| From | Finn Thain <fthain@telegraphics.com.au> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 6/6] atari_scsi: Reset DMA during bus reset only under ST-DMA lock |
| Date | 2017-01-16 01:00 +0100 |
| Message-ID | <t02Sl-xH-7@gated-at.bofh.it> (permalink) |
| References | <t02Sl-xH-5@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
The atari_scsi driver should not access Falcon DMA chip registers
unless it has acquired exclusive access to that chip. If the driver
doesn't have exclusive access then there's no need for a DMA reset
as there are no scsi commands in progress.
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
---
drivers/scsi/atari_scsi.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/atari_scsi.c b/drivers/scsi/atari_scsi.c
index b2ffab65..f792420 100644
--- a/drivers/scsi/atari_scsi.c
+++ b/drivers/scsi/atari_scsi.c
@@ -682,7 +682,8 @@ static int atari_scsi_bus_reset(struct scsi_cmnd *cmd)
if (IS_A_TT()) {
tt_scsi_dma.dma_ctrl = 0;
} else {
- st_dma.dma_mode_status = 0x90;
+ if (stdma_is_locked_by(scsi_falcon_intr))
+ st_dma.dma_mode_status = 0x90;
atari_dma_active = 0;
atari_dma_orig_addr = NULL;
}
--
2.10.2
Back to linux.kernel | Previous | Next | Find similar | Unroll thread
[PATCH 6/6] atari_scsi: Reset DMA during bus reset only under ST-DMA lock Finn Thain <fthain@telegraphics.com.au> - 2017-01-16 01:00 +0100
csiph-web