patch-2.4.0-test4 linux/drivers/isdn/hysdn/hysdn_procconf.c

Next file: linux/drivers/isdn/hysdn/hysdn_procfs.c
Previous file: linux/drivers/isdn/divert/divert_procfs.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test3/linux/drivers/isdn/hysdn/hysdn_procconf.c linux/drivers/isdn/hysdn/hysdn_procconf.c
@@ -372,6 +372,7 @@
 	int retval = 0;
 	struct proc_dir_entry *pd;
 
+	lock_kernel();
 	/* search the addressed card */
 	card = card_root;
 	while (card) {
@@ -381,6 +382,7 @@
 		card = card->next;	/* search next entry */
 	}
 	if (!card) {
+		unlock_kernel();
 		return (-ENODEV);	/* device is unknown/invalid */
 	}
 	if (card->debug_flags & (LOG_PROC_OPEN | LOG_PROC_ALL))
@@ -403,6 +405,7 @@
 		if (filep->private_data)
 			kfree(filep->private_data);	/* release memory */
 	}
+	unlock_kernel();
 	return (retval);
 }				/* hysdn_conf_close */
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)