

We just made bdevname() irq-safe.  This patch makes cdevname() callable from
interrupts as well.



 fs/char_dev.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff -puN fs/char_dev.c~cdevname-irq-safety-fix fs/char_dev.c
--- 25/fs/char_dev.c~cdevname-irq-safety-fix	2003-03-25 18:45:13.000000000 -0800
+++ 25-akpm/fs/char_dev.c	2003-03-25 18:45:13.000000000 -0800
@@ -150,7 +150,7 @@ int register_chrdev_region(unsigned int 
 
 	i = major_to_index(major);
 
-	write_lock(&chrdevs_lock);
+	write_lock_irq(&chrdevs_lock);
 	for (cp = &chrdevs[i]; *cp; cp = &(*cp)->next)
 		if ((*cp)->major > major ||
 		    ((*cp)->major == major && (*cp)->baseminor >= baseminor))
@@ -162,7 +162,7 @@ int register_chrdev_region(unsigned int 
 		cd->next = *cp;
 		*cp = cd;
 	}
-	write_unlock(&chrdevs_lock);
+	write_unlock_irq(&chrdevs_lock);
 
 	return ret;
 }
@@ -183,7 +183,7 @@ int unregister_chrdev_region(unsigned in
 
 	i = major_to_index(major);
 
-	write_lock(&chrdevs_lock);
+	write_lock_irq(&chrdevs_lock);
 	for (cp = &chrdevs[i]; *cp; cp = &(*cp)->next)
 		if ((*cp)->major == major &&
 		    (*cp)->baseminor == baseminor &&
@@ -196,7 +196,7 @@ int unregister_chrdev_region(unsigned in
 		*cp = cd->next;
 		kfree(cd);
 	}
-	write_unlock(&chrdevs_lock);
+	write_unlock_irq(&chrdevs_lock);
 
 	return ret;
 }

_
