Commit d652c138 authored by Borislav Petkov's avatar Borislav Petkov Committed by Bartlomiej Zolnierkiewicz

ide-floppy: mv idefloppy_{should_,}report_error

In addition to shortening the function name, move the printk-call into the
function thereby saving some code lines. Also, make the function out_of_line
since it is not on a performance critical path. Finally, rename the reworked
function to ide_floppy..().

Bart:
- minor CodingStyle fixup
Signed-off-by: default avatarBorislav Petkov <bbpetkov@yahoo.de>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent d30a7fba
......@@ -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);
......
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