Kaynağa Gözat

[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>
Peter Osterlund 20 yıl önce
ebeveyn
işleme
948423e5cc
1 değiştirilmiş dosya ile 2 ekleme ve 1 silme
  1. 2 1
      drivers/block/pktcdvd.c

+ 2 - 1
drivers/block/pktcdvd.c

@@ -2435,7 +2435,8 @@ static int pkt_ioctl(struct inode *inode, struct file *file, unsigned int cmd, u
 		 * The door gets locked when the device is opened, so we
 		 * have to unlock it or else the eject command fails.
 		 */
-		pkt_lock_door(pd, 0);
+		if (pd->refcnt == 1)
+			pkt_lock_door(pd, 0);
 		return blkdev_ioctl(pd->bdev->bd_inode, file, cmd, arg);
 
 	default: