summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ide/ide-cd.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
index 7bbdeb7e3bc4..c84abd6f9f6f 100644
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
@@ -312,6 +312,7 @@ static int cdrom_decode_status(ide_drive_t *drive, u8 stat)
ide_hwif_t *hwif = drive->hwif;
struct request *rq = hwif->rq;
int err, sense_key;
+ u8 quiet = rq->cmd_flags & REQ_QUIET;
/* get the IDE error register */
err = ide_read_error(drive);
@@ -354,7 +355,7 @@ static int cdrom_decode_status(ide_drive_t *drive, u8 stat)
* drive doesn't have that capability.
* cdrom_log_sense() knows this!
*/
- } else if (!(rq->cmd_flags & REQ_QUIET)) {
+ } else if (!quiet) {
/* otherwise, print an error */
ide_dump_status(drive, "packet command error", stat);
}
@@ -382,7 +383,8 @@ static int cdrom_decode_status(ide_drive_t *drive, u8 stat)
cdrom_saw_media_change(drive);
/* fail the request */
- printk(KERN_ERR PFX "%s: tray open\n",
+ if (!quiet)
+ printk(KERN_ERR PFX "%s: tray open\n",
drive->name);
} else {
if (ide_cd_breathe(drive, rq))
@@ -405,19 +407,23 @@ static int cdrom_decode_status(ide_drive_t *drive, u8 stat)
* No point in retrying after an illegal request or data
* protect error.
*/
- ide_dump_status(drive, "command error", stat);
+ if (!quiet)
+ ide_dump_status(drive, "command error", stat);
do_end_request = 1;
} else if (sense_key == MEDIUM_ERROR) {
/*
* No point in re-trying a zillion times on a bad
* sector. If we got here the error is not correctable.
*/
- ide_dump_status(drive, "media error (bad sector)",
- stat);
+ if (!quiet)
+ ide_dump_status(drive, "media error "
+ "(bad sector)", stat);
do_end_request = 1;
} else if (sense_key == BLANK_CHECK) {
/* disk appears blank ?? */
- ide_dump_status(drive, "media error (blank)", stat);
+ if (!quiet)
+ ide_dump_status(drive, "media error (blank)",
+ stat);
do_end_request = 1;
} else if ((err & ~ATA_ABORTED) != 0) {
/* go to the default handler for other errors */