[PATCH] scsi: sr: Fix some cdroms automatically ejected when booting into the system

From: jinxiaobo
Date: Wed Apr 27 2022 - 07:27:11 EST


sr_get_events() has been called before udev starts when SCSI CDROM is
built-in and AHCI SATA is bulit-in,so sr events propagated to
user space are not handled.
if both is loadable, udev will handle sr events, some cdroms may eject.
We need call sr_get_events() once before device_add_disk()
to keep the same result, whether both are built-in or loadable.

Signed-off-by: jinxiaobo <jinxiaobo@xxxxxxxxxxxxx>
---
drivers/scsi/sr.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c
index cbd92891a762..043b3ab72d7a 100644
--- a/drivers/scsi/sr.c
+++ b/drivers/scsi/sr.c
@@ -676,6 +676,7 @@ static int sr_probe(struct device *dev)
set_capacity(disk, cd->capacity);
disk->private_data = cd;

+ sr_get_events(sdev);
if (register_cdrom(disk, &cd->cdi))
goto fail_minor;

--
2.20.1