diff options
Diffstat (limited to 'drivers/scsi/NCR5380.c')
-rw-r--r-- | drivers/scsi/NCR5380.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/scsi/NCR5380.c b/drivers/scsi/NCR5380.c index 5d2f148889ad..165e4dd865d9 100644 --- a/drivers/scsi/NCR5380.c +++ b/drivers/scsi/NCR5380.c | |||
@@ -936,8 +936,7 @@ static void NCR5380_exit(struct Scsi_Host *instance) | |||
936 | { | 936 | { |
937 | struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata; | 937 | struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata; |
938 | 938 | ||
939 | cancel_delayed_work(&hostdata->coroutine); | 939 | cancel_delayed_work_sync(&hostdata->coroutine); |
940 | flush_scheduled_work(); | ||
941 | } | 940 | } |
942 | 941 | ||
943 | /** | 942 | /** |
@@ -952,7 +951,7 @@ static void NCR5380_exit(struct Scsi_Host *instance) | |||
952 | * Locks: host lock taken by caller | 951 | * Locks: host lock taken by caller |
953 | */ | 952 | */ |
954 | 953 | ||
955 | static int NCR5380_queue_command(Scsi_Cmnd * cmd, void (*done) (Scsi_Cmnd *)) | 954 | static int NCR5380_queue_command_lck(Scsi_Cmnd * cmd, void (*done) (Scsi_Cmnd *)) |
956 | { | 955 | { |
957 | struct Scsi_Host *instance = cmd->device->host; | 956 | struct Scsi_Host *instance = cmd->device->host; |
958 | struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata; | 957 | struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata; |
@@ -1021,6 +1020,7 @@ static int NCR5380_queue_command(Scsi_Cmnd * cmd, void (*done) (Scsi_Cmnd *)) | |||
1021 | return 0; | 1020 | return 0; |
1022 | } | 1021 | } |
1023 | 1022 | ||
1023 | static DEF_SCSI_QCMD(NCR5380_queue_command) | ||
1024 | 1024 | ||
1025 | /** | 1025 | /** |
1026 | * NCR5380_main - NCR state machines | 1026 | * NCR5380_main - NCR state machines |
@@ -1198,12 +1198,12 @@ static irqreturn_t NCR5380_intr(int dummy, void *dev_id) | |||
1198 | */ | 1198 | */ |
1199 | 1199 | ||
1200 | if ((NCR5380_read(MODE_REG) & MR_DMA) && ((basr & BASR_END_DMA_TRANSFER) || !(basr & BASR_PHASE_MATCH))) { | 1200 | if ((NCR5380_read(MODE_REG) & MR_DMA) && ((basr & BASR_END_DMA_TRANSFER) || !(basr & BASR_PHASE_MATCH))) { |
1201 | int transfered; | 1201 | int transferred; |
1202 | 1202 | ||
1203 | if (!hostdata->connected) | 1203 | if (!hostdata->connected) |
1204 | panic("scsi%d : received end of DMA interrupt with no connected cmd\n", instance->hostno); | 1204 | panic("scsi%d : received end of DMA interrupt with no connected cmd\n", instance->hostno); |
1205 | 1205 | ||
1206 | transfered = (hostdata->dmalen - NCR5380_dma_residual(instance)); | 1206 | transferred = (hostdata->dmalen - NCR5380_dma_residual(instance)); |
1207 | hostdata->connected->SCp.this_residual -= transferred; | 1207 | hostdata->connected->SCp.this_residual -= transferred; |
1208 | hostdata->connected->SCp.ptr += transferred; | 1208 | hostdata->connected->SCp.ptr += transferred; |
1209 | hostdata->dmalen = 0; | 1209 | hostdata->dmalen = 0; |
@@ -1563,7 +1563,7 @@ failed: | |||
1563 | * bytes to transfer, **data - pointer to data pointer. | 1563 | * bytes to transfer, **data - pointer to data pointer. |
1564 | * | 1564 | * |
1565 | * Returns : -1 when different phase is entered without transferring | 1565 | * Returns : -1 when different phase is entered without transferring |
1566 | * maximum number of bytes, 0 if all bytes or transfered or exit | 1566 | * maximum number of bytes, 0 if all bytes or transferred or exit |
1567 | * is in same phase. | 1567 | * is in same phase. |
1568 | * | 1568 | * |
1569 | * Also, *phase, *count, *data are modified in place. | 1569 | * Also, *phase, *count, *data are modified in place. |
@@ -1800,7 +1800,7 @@ static int do_abort(struct Scsi_Host *host) { | |||
1800 | * bytes to transfer, **data - pointer to data pointer. | 1800 | * bytes to transfer, **data - pointer to data pointer. |
1801 | * | 1801 | * |
1802 | * Returns : -1 when different phase is entered without transferring | 1802 | * Returns : -1 when different phase is entered without transferring |
1803 | * maximum number of bytes, 0 if all bytes or transfered or exit | 1803 | * maximum number of bytes, 0 if all bytes or transferred or exit |
1804 | * is in same phase. | 1804 | * is in same phase. |
1805 | * | 1805 | * |
1806 | * Also, *phase, *count, *data are modified in place. | 1806 | * Also, *phase, *count, *data are modified in place. |