| Kernel v2.4.13-ac8 /fs/char_dev.c |
|---|
 2.4.13-ac8
 fs
 char_dev.c
diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.vanilla/fs/char_dev.c linux.ac/fs/char_dev.c
--- linux.vanilla/fs/char_dev.c Tue May 22 17:35:42 2001
+++ linux.ac/fs/char_dev.c Sat Nov 3 19:10:30 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);
|