aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block
diff options
context:
space:
mode:
authorPeter Osterlund <petero2@telia.com>2006-02-14 16:52:56 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-02-14 19:09:33 -0500
commit948423e5ccc33bc257384ad4b339214c577bc926 (patch)
treefca922bbce34cf69c561b34bb40c796cd982ae27 /drivers/block
parent01fd9fda2ce462b44bafdac2fe6aacacf23531f2 (diff)
[PATCH] pktcdvd: Don't unlock the door if the disc is in use
Unlocking the door when the disc is in use is obviously not good, because then it's possible to eject the disc at the wrong time and cause severe disc data corruption. Signed-off-by: Peter Osterlund <petero2@telia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/pktcdvd.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c
index edf6bf29002e..89d8fe014efa 100644
--- a/drivers/block/pktcdvd.c
+++ b/drivers/block/pktcdvd.c
@@ -2435,7 +2435,8 @@ static int pkt_ioctl(struct inode *inode, struct file *file, unsigned int cmd, u
2435 * The door gets locked when the device is opened, so we 2435 * The door gets locked when the device is opened, so we
2436 * have to unlock it or else the eject command fails. 2436 * have to unlock it or else the eject command fails.
2437 */ 2437 */
2438 pkt_lock_door(pd, 0); 2438 if (pd->refcnt == 1)
2439 pkt_lock_door(pd, 0);
2439 return blkdev_ioctl(pd->bdev->bd_inode, file, cmd, arg); 2440 return blkdev_ioctl(pd->bdev->bd_inode, file, cmd, arg);
2440 2441
2441 default: 2442 default: