From b905d9c4323d929d74ee3e06b5fde20b2ac307e5 Mon Sep 17 00:00:00 2001 From: Borislav Petkov Date: Sat, 2 Feb 2008 19:56:35 +0100 Subject: [PATCH] --- yaml --- r: 82542 b: refs/heads/master c: d652c1380870228dfe05a2f00ce4edec3f5bd42d h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/ide/ide-floppy.c | 38 +++++++++++++--------------------- 2 files changed, 15 insertions(+), 25 deletions(-) diff --git a/[refs] b/[refs] index 16bb6f46ea20..763e1653f786 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d30a7fba4380901b6a33fd798a0d0f9794a70ccc +refs/heads/master: d652c1380870228dfe05a2f00ce4edec3f5bd42d diff --git a/trunk/drivers/ide/ide-floppy.c b/trunk/drivers/ide/ide-floppy.c index 5c32d0cda4ac..416719c1718b 100644 --- a/trunk/drivers/ide/ide-floppy.c +++ b/trunk/drivers/ide/ide-floppy.c @@ -737,18 +737,20 @@ static ide_startstop_t idefloppy_transfer_pc1 (ide_drive_t *drive) return ide_started; } -/** - * idefloppy_should_report_error() - * - * Supresses error messages resulting from Medium not present - */ -static inline int idefloppy_should_report_error(idefloppy_floppy_t *floppy) +static void ide_floppy_report_error(idefloppy_floppy_t *floppy, + idefloppy_pc_t *pc) { + /* supress error messages resulting from Medium not present */ if (floppy->sense_key == 0x02 && floppy->asc == 0x3a && floppy->ascq == 0x00) - return 0; - return 1; + return; + + printk(KERN_ERR "ide-floppy: %s: I/O error, pc = %2x, key = %2x, " + "asc = %2x, ascq = %2x\n", + floppy->drive->name, pc->c[0], floppy->sense_key, + floppy->asc, floppy->ascq); + } /* @@ -775,15 +777,8 @@ static ide_startstop_t idefloppy_issue_pc (ide_drive_t *drive, idefloppy_pc_t *p * a legitimate error code was received. */ if (!test_bit(PC_ABORT, &pc->flags)) { - if (!test_bit(PC_SUPPRESS_ERROR, &pc->flags)) { - if (idefloppy_should_report_error(floppy)) - printk(KERN_ERR "ide-floppy: %s: I/O error, " - "pc = %2x, key = %2x, " - "asc = %2x, ascq = %2x\n", - drive->name, pc->c[0], - floppy->sense_key, - floppy->asc, floppy->ascq); - } + if (!test_bit(PC_SUPPRESS_ERROR, &pc->flags)) + ide_floppy_report_error(floppy, pc); /* Giving up */ pc->error = IDEFLOPPY_ERROR_GENERAL; } @@ -993,13 +988,8 @@ static ide_startstop_t idefloppy_do_request (ide_drive_t *drive, struct request rq->nr_sectors, rq->current_nr_sectors); if (rq->errors >= ERROR_MAX) { - if (floppy->failed_pc != NULL) { - if (idefloppy_should_report_error(floppy)) - printk(KERN_ERR "ide-floppy: %s: I/O error, pc = %2x," - " key = %2x, asc = %2x, ascq = %2x\n", - drive->name, floppy->failed_pc->c[0], - floppy->sense_key, floppy->asc, floppy->ascq); - } + if (floppy->failed_pc) + ide_floppy_report_error(floppy, floppy->failed_pc); else printk(KERN_ERR "ide-floppy: %s: I/O error\n", drive->name);