https://bugzilla.kernel.org/show_bug.cgi?id=213759 Bug ID: 213759 Summary: CD tray ejected on hibernate resume Product: SCSI Drivers Version: 2.5 Kernel Version: 5.10.48 Hardware: x86-64 OS: Linux Tree: Mainline Status: NEW Severity: normal Priority: P1 Component: Other Assignee: scsi_drivers-other@xxxxxxxxxxxxxxxxxxxx Reporter: computerpro_58@xxxxxxxxxxx Regression: No After resuming from hibernation (shutdown-disk), CD tray (which is empty and untouched) is ejected on resume. I use a LUKS-encrypted root partition, and the tray is always ejected before my distro NixOS (cryptsetup) prompts for my key. I bi-sect'd the problem commit down to this one: From: ManYi Li <limanyi@xxxxxxxxxxxxx> To: axboe@xxxxxxxxx, jejb@xxxxxxxxxxxxx, martin.petersen@xxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx, linux-scsi@xxxxxxxxxxxxxxx, ManYi Li <limanyi@xxxxxxxxxxxxx> Subject: [PATCH] sr: Fix get the error media event code Date: Fri, 11 Jun 2021 17:44:02 +0800 Message-ID: <20210611094402.23884-1-limanyi@xxxxxxxxxxxxx> (raw) Eject the specified slot or media through a mechanical switch on the Drive, med->media_event_code is 3 not 1 in the sr_get_events(). If disk_flush_events() and sr_block_open() are called, clearing is 1 or 3 in the sr_check_events(),then it report DISK_EVENT_MEDIA_CHANGE not DISK_EVENT_EJECT_REQUEST. If disk_flush_events() and sr_block_open() aren't called, clearing is 0 in the sr_check_events(),then it doesn't report any event. Signed-off-by: ManYi Li <limanyi@xxxxxxxxxxxxx> --- drivers/scsi/sr.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c index 482a07b662a9..94c254e9012e 100644 --- a/drivers/scsi/sr.c +++ b/drivers/scsi/sr.c @@ -220,6 +220,8 @@ static unsigned int sr_get_events(struct scsi_device *sdev) return DISK_EVENT_EJECT_REQUEST; else if (med->media_event_code == 2) return DISK_EVENT_MEDIA_CHANGE; + else if (med->media_event_code == 3) + return DISK_EVENT_EJECT_REQUEST; return 0; } That commit was backported onto a number of kernels, so I can reproduce this on a number of different kernels (master, stable, LTS). I'm not sure if this is a bug in the CD-reader (tossing back an incorrect status), or if the bug is within this driver? -- You may reply to this email to add a comment. You are receiving this mail because: You are watching the assignee of the bug.