On Fri, Apr 02, 2004 at 06:36:55PM -0500, James Bottomley wrote: > ===== drivers/scsi/sr.c 1.103 vs edited ===== > --- 1.103/drivers/scsi/sr.c Fri Apr 2 11:30:44 2004 > +++ edited/drivers/scsi/sr.c Fri Apr 2 17:29:06 2004 > @@ -424,8 +424,19 @@ > > static int sr_block_release(struct inode *inode, struct file *file) > { > + int ret; > struct scsi_cd *cd = scsi_cd(inode->i_bdev->bd_disk); > - return cdrom_release(&cd->cdi, file); > + struct scsi_device *sdev = cd->device; > + ret = cdrom_release(&cd->cdi, file); > + if(ret) > + return ret; > + > + unregister_cdrom(&cd->cdi); > + kfree(cd); > + > + scsi_device_put(sdev); > + > + return 0; > } > > static int sr_block_ioctl(struct inode *inode, struct file *file, unsigned cmd, > @@ -500,7 +511,6 @@ > if (cd->device->sector_size > 2048) > sr_set_blocklength(cd, 2048); > > - scsi_device_put(cd->device); > } > > static int sr_probe(struct device *dev) > @@ -874,9 +884,6 @@ > spin_unlock(&sr_index_lock); > > put_disk(cd->disk); > - unregister_cdrom(&cd->cdi); > - kfree(cd); > - > return 0; > }
How is unregister_cdrom(&cd->cdi) called if the device is not open? -- Patrick Mansfield ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel