X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fchar%2Fraw.c;h=20d90e6a6e50fb41dfdd2601b1ae6617c40a6070;hb=c4e1aa67ed9e4e542a064bc271ddbf152b677e91;hp=e139372d0e6913f1d09a385a8d60617b3e25e089;hpb=057316cc6a5b521b332a1d7ccc871cd60c904c74;p=linux-2.6-omap-h63xx.git diff --git a/drivers/char/raw.c b/drivers/char/raw.c index e139372d0e6..20d90e6a6e5 100644 --- a/drivers/char/raw.c +++ b/drivers/char/raw.c @@ -65,7 +65,7 @@ static int raw_open(struct inode *inode, struct file *filp) if (!bdev) goto out; igrab(bdev->bd_inode); - err = blkdev_get(bdev, filp->f_mode, 0); + err = blkdev_get(bdev, filp->f_mode); if (err) goto out; err = bd_claim(bdev, raw_open); @@ -87,9 +87,10 @@ static int raw_open(struct inode *inode, struct file *filp) out2: bd_release(bdev); out1: - blkdev_put(bdev); + blkdev_put(bdev, filp->f_mode); out: mutex_unlock(&raw_mutex); + unlock_kernel(); return err; } @@ -112,7 +113,7 @@ static int raw_release(struct inode *inode, struct file *filp) mutex_unlock(&raw_mutex); bd_release(bdev); - blkdev_put(bdev); + blkdev_put(bdev, filp->f_mode); return 0; } @@ -125,7 +126,7 @@ raw_ioctl(struct inode *inode, struct file *filp, { struct block_device *bdev = filp->private_data; - return blkdev_ioctl(bdev->bd_inode, NULL, command, arg); + return blkdev_ioctl(bdev, 0, command, arg); } static void bind_device(struct raw_config_request *rq)