Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 82542
b: refs/heads/master
c: d652c13
h: refs/heads/master
v: v3
  • Loading branch information
Borislav Petkov authored and Bartlomiej Zolnierkiewicz committed Feb 2, 2008
1 parent 0e01361 commit b905d9c
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 25 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d30a7fba4380901b6a33fd798a0d0f9794a70ccc
refs/heads/master: d652c1380870228dfe05a2f00ce4edec3f5bd42d
38 changes: 14 additions & 24 deletions trunk/drivers/ide/ide-floppy.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);

}

/*
Expand All @@ -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;
}
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit b905d9c

Please sign in to comment.