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