aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/sr.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/sr.c')
-rw-r--r--drivers/scsi/sr.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c
index c61999031141..7702681d93f9 100644
--- a/drivers/scsi/sr.c
+++ b/drivers/scsi/sr.c
@@ -192,8 +192,9 @@ static int sr_media_change(struct cdrom_device_info *cdi, int slot)
192 * and we will figure it out later once the drive is 192 * and we will figure it out later once the drive is
193 * available again. */ 193 * available again. */
194 cd->device->changed = 1; 194 cd->device->changed = 1;
195 return 1; /* This will force a flush, if called from 195 /* This will force a flush, if called from check_disk_change */
196 * check_disk_change */ 196 retval = 1;
197 goto out;
197 }; 198 };
198 199
199 retval = cd->device->changed; 200 retval = cd->device->changed;
@@ -203,9 +204,16 @@ static int sr_media_change(struct cdrom_device_info *cdi, int slot)
203 if (retval) { 204 if (retval) {
204 /* check multisession offset etc */ 205 /* check multisession offset etc */
205 sr_cd_check(cdi); 206 sr_cd_check(cdi);
206
207 get_sectorsize(cd); 207 get_sectorsize(cd);
208 } 208 }
209
210out:
211 /* Notify userspace, that media has changed. */
212 if (retval != cd->previous_state)
213 sdev_evt_send_simple(cd->device, SDEV_EVT_MEDIA_CHANGE,
214 GFP_KERNEL);
215 cd->previous_state = retval;
216
209 return retval; 217 return retval;
210} 218}
211 219