ide-{floppy,tape}: move checking of ->failed_pc to ->callback

Move checking/resetting of ->failed_pc from ide*_pc_intr() to ->callback
as a preparation for adding generic ide_pc_intr() helper.

There should be no functional changes caused by this patch.

Cc: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>---
parent 6bf1641c
...@@ -320,6 +320,9 @@ static void ide_floppy_callback(ide_drive_t *drive) ...@@ -320,6 +320,9 @@ static void ide_floppy_callback(ide_drive_t *drive)
debug_log("Reached %s\n", __func__); debug_log("Reached %s\n", __func__);
if (floppy->failed_pc == pc)
floppy->failed_pc = NULL;
if (pc->c[0] == GPCMD_READ_10 || pc->c[0] == GPCMD_WRITE_10 || if (pc->c[0] == GPCMD_READ_10 || pc->c[0] == GPCMD_WRITE_10 ||
(pc->rq && blk_pc_request(pc->rq))) (pc->rq && blk_pc_request(pc->rq)))
uptodate = 1; /* FIXME */ uptodate = 1; /* FIXME */
...@@ -435,8 +438,6 @@ static ide_startstop_t idefloppy_pc_intr(ide_drive_t *drive) ...@@ -435,8 +438,6 @@ static ide_startstop_t idefloppy_pc_intr(ide_drive_t *drive)
return ide_stopped; return ide_stopped;
} }
pc->error = 0; pc->error = 0;
if (floppy->failed_pc == pc)
floppy->failed_pc = NULL;
/* Command finished - Call the callback function */ /* Command finished - Call the callback function */
pc->callback(drive); pc->callback(drive);
return ide_stopped; return ide_stopped;
......
...@@ -627,6 +627,9 @@ static void ide_tape_callback(ide_drive_t *drive) ...@@ -627,6 +627,9 @@ static void ide_tape_callback(ide_drive_t *drive)
debug_log(DBG_PROCS, "Enter %s\n", __func__); debug_log(DBG_PROCS, "Enter %s\n", __func__);
if (tape->failed_pc == pc)
tape->failed_pc = NULL;
if (pc->c[0] == REQUEST_SENSE) { if (pc->c[0] == REQUEST_SENSE) {
if (uptodate) if (uptodate)
idetape_analyze_error(drive, pc->buf); idetape_analyze_error(drive, pc->buf);
...@@ -838,8 +841,6 @@ static ide_startstop_t idetape_pc_intr(ide_drive_t *drive) ...@@ -838,8 +841,6 @@ static ide_startstop_t idetape_pc_intr(ide_drive_t *drive)
idetape_postpone_request(drive); idetape_postpone_request(drive);
return ide_stopped; return ide_stopped;
} }
if (tape->failed_pc == pc)
tape->failed_pc = NULL;
/* Command finished - Call the callback function */ /* Command finished - Call the callback function */
pc->callback(drive); pc->callback(drive);
return ide_stopped; return ide_stopped;
...@@ -1050,8 +1051,6 @@ static ide_startstop_t idetape_media_access_finished(ide_drive_t *drive) ...@@ -1050,8 +1051,6 @@ static ide_startstop_t idetape_media_access_finished(ide_drive_t *drive)
return ide_stopped; return ide_stopped;
} }
pc->error = 0; pc->error = 0;
if (tape->failed_pc == pc)
tape->failed_pc = NULL;
} else { } else {
pc->error = IDETAPE_ERROR_GENERAL; pc->error = IDETAPE_ERROR_GENERAL;
tape->failed_pc = NULL; tape->failed_pc = NULL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment