On Fri, 2018-01-26 at 17:58 +0100, Michal Suchanek wrote: > When the drive closes it can take tens of seconds until the disc is > analyzed. Wait for the drive to become ready or report an error. > > Signed-off-by: Michal Suchanek <msuchanek@xxxxxxx> > --- > drivers/cdrom/cdrom.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/cdrom/cdrom.c b/drivers/cdrom/cdrom.c > index 69e85c902373..9994441f5041 100644 > --- a/drivers/cdrom/cdrom.c > +++ b/drivers/cdrom/cdrom.c > @@ -1087,6 +1087,15 @@ int open_for_common(struct cdrom_device_info *cdi, tracktype *tracks) > } > cd_dbg(CD_OPEN, "the tray is now closed\n"); > } > + /* the door should be closed now, check for the disc */ > + if (ret == CDS_DRIVE_NOT_READY) { > + int poll_res = poll_event_interruptible( > + CDS_DRIVE_NOT_READY != > + (ret = cdo->drive_status(cdi, CDSL_CURRENT)), > + 500); > + if (poll_res == -ERESTARTSYS) > + return poll_res; > + } > if (ret != CDS_DISC_OK) > return -ENOMEDIUM; > } Same comment here as for a previous patch: although interruptible by a signal, I'm not sure potentially infinite loops inside the kernel are really welcome. Thanks, Bart.��.n��������+%������w��{.n�����{����*jg��������ݢj����G�������j:+v���w�m������w�������h�����٥