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