mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 17:30:02 +00:00
ide: ugly messages trying to open CD drive with no media present
I get the following error messages when trying to open a CD device (specifically, the Teac CD-ROM CD-224E) that has no media present: hda: packet command error: status=3D0x51 { DriveReady SeekComplete Error } hda: packet command error: error=3D0x54 { AbortedCommand LastFailedSense=0x05 } ide: failed opcode was: unknown This happens when a "start stop unit" command (0x1b 0 0 0 3 0 0 0 0 0) is sent to the drive to try to close the CD-ROM tray, but this drive doesn't have that capability (it's a slim portable-type CD-ROM), so it reports sense key 5 (illegal request) with asc/ascq 24/0. This is exactly how SFF8090i says it should respond. But ide-cd.c (in cdrom_decode_status() ) just sees sense key 5 and spews out an error. It then goes on to request sense data, and cdrom_log_sense() understands this error and doesn't log it. The patch, for kernel 2.6.20.4, suppresses this error message. Signed-off-by: Stuart Hayes <stuart_hayes@dell.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
23450319e2
commit
76ca1af10e
1 changed files with 9 additions and 0 deletions
|
@ -735,6 +735,15 @@ static int cdrom_decode_status(ide_drive_t *drive, int good_stat, int *stat_ret)
|
||||||
cdrom_saw_media_change (drive);
|
cdrom_saw_media_change (drive);
|
||||||
/*printk("%s: media changed\n",drive->name);*/
|
/*printk("%s: media changed\n",drive->name);*/
|
||||||
return 0;
|
return 0;
|
||||||
|
} else if ((sense_key == ILLEGAL_REQUEST) &&
|
||||||
|
(rq->cmd[0] == GPCMD_START_STOP_UNIT)) {
|
||||||
|
/*
|
||||||
|
* Don't print error message for this condition--
|
||||||
|
* SFF8090i indicates that 5/24/00 is the correct
|
||||||
|
* response to a request to close the tray if the
|
||||||
|
* drive doesn't have that capability.
|
||||||
|
* cdrom_log_sense() knows this!
|
||||||
|
*/
|
||||||
} else if (!(rq->cmd_flags & REQ_QUIET)) {
|
} else if (!(rq->cmd_flags & REQ_QUIET)) {
|
||||||
/* Otherwise, print an error. */
|
/* Otherwise, print an error. */
|
||||||
ide_dump_status(drive, "packet command error", stat);
|
ide_dump_status(drive, "packet command error", stat);
|
||||||
|
|
Loading…
Reference in a new issue