From a0932a9009e4f2e5de106afe0956a7f65224bd9f Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Fri, 16 Jun 2006 07:46:37 +0200 Subject: [PATCH] --- yaml --- r: 27214 b: refs/heads/master c: 16070428d389ff47aa3476b0911179ad90c640a2 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/cdrom/cdrom.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index abd6f17e6713..4d28ce2b197e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 553698f944ed715dfe023b4cef07601f0ce735f0 +refs/heads/master: 16070428d389ff47aa3476b0911179ad90c640a2 diff --git a/trunk/drivers/cdrom/cdrom.c b/trunk/drivers/cdrom/cdrom.c index a59876a0bfa1..3170eaa25087 100644 --- a/trunk/drivers/cdrom/cdrom.c +++ b/trunk/drivers/cdrom/cdrom.c @@ -1009,9 +1009,9 @@ int cdrom_open(struct cdrom_device_info *cdi, struct inode *ip, struct file *fp) if (fp->f_mode & FMODE_WRITE) { ret = -EROFS; if (cdrom_open_write(cdi)) - goto err; + goto err_release; if (!CDROM_CAN(CDC_RAM)) - goto err; + goto err_release; ret = 0; cdi->media_written = 0; } @@ -1026,6 +1026,8 @@ int cdrom_open(struct cdrom_device_info *cdi, struct inode *ip, struct file *fp) not be mounting, but opening with O_NONBLOCK */ check_disk_change(ip->i_bdev); return 0; +err_release: + cdi->ops->release(cdi); err: cdi->use_count--; return ret;