The pc is still embedded in rq->buffer. Signed-off-by: Borislav Petkov <petkovbb@xxxxxxxxx> --- drivers/ide/ide-floppy.c | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c index 8ce7513..1ec4951 100644 --- a/drivers/ide/ide-floppy.c +++ b/drivers/ide/ide-floppy.c @@ -464,12 +464,12 @@ static void ide_floppy_report_error(idefloppy_floppy_t *floppy, } static ide_startstop_t idefloppy_issue_pc(ide_drive_t *drive, - struct ide_atapi_pc *pc) + struct request *rq) { idefloppy_floppy_t *floppy = drive->driver_data; + struct ide_atapi_pc *pc = (struct ide_atapi_pc *) rq->buffer; - if (floppy->failed_pc == NULL && - pc->rq->cmd[0] != GPCMD_REQUEST_SENSE) + if (floppy->failed_pc == NULL && rq->cmd[0] != GPCMD_REQUEST_SENSE) floppy->failed_pc = pc; /* Set the current packet command */ floppy->pc = pc; @@ -626,6 +626,7 @@ static ide_startstop_t idefloppy_do_request(ide_drive_t *drive, } pc = idefloppy_next_pc_storage(drive); idefloppy_create_rw_cmd(floppy, pc, rq, block); + rq->buffer = (char *) pc; } else if (blk_pc_request(rq)) pc = (struct ide_atapi_pc *) rq->buffer; else { @@ -643,7 +644,7 @@ static ide_startstop_t idefloppy_do_request(ide_drive_t *drive, pc->rq = rq; - return idefloppy_issue_pc(drive, pc); + return idefloppy_issue_pc(drive, rq); } /* -- 1.5.5.1 -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html