| Kernel v2.4.14-pre8 /fs/char_dev.c |
|---|
 2.4.14-pre8
 fs
 char_dev.c
diff -u --recursive --new-file v2.4.13/linux/fs/char_dev.c linux/fs/char_dev.c
--- v2.4.13/linux/fs/char_dev.c Tue May 22 09:35:42 2001
+++ linux/fs/char_dev.c Fri Nov 2 11:48:21 2001
@@ -104,8 +104,7 @@
void cdput(struct char_device *cdev)
{
- if (atomic_dec_and_test(&cdev->count)) {
- spin_lock(&cdev_lock);
+ if (atomic_dec_and_lock(&cdev->count, &cdev_lock)) {
list_del(&cdev->hash);
spin_unlock(&cdev_lock);
destroy_cdev(cdev);
|