patch-2.4.22 linux-2.4.22/arch/s390x/kernel/debug.c
Next file: linux-2.4.22/arch/s390x/kernel/entry.S
Previous file: linux-2.4.22/arch/s390x/kernel/binfmt_elf32.c
Back to the patch index
Back to the overall index
- Lines: 44
- Date:
2003-08-25 04:44:40.000000000 -0700
- Orig file:
linux-2.4.21/arch/s390x/kernel/debug.c
- Orig date:
2003-06-13 07:51:32.000000000 -0700
diff -urN linux-2.4.21/arch/s390x/kernel/debug.c linux-2.4.22/arch/s390x/kernel/debug.c
@@ -949,9 +949,21 @@
int i;
unsigned long flags;
mode_t mode = S_IFREG;
+ struct proc_dir_entry *pde;
+
if (!id)
goto out;
+ pde = debug_create_proc_dir_entry(id->proc_root_entry,
+ view->name, mode,
+ &debug_inode_ops,
+ &debug_file_ops);
+ if(!pde){
+ printk(KERN_WARNING "debug: create_proc_entry() failed! Cannot register view %s/%s\n", id->name,view->name);
+ rc = -1;
+ goto out;
+ }
+
spin_lock_irqsave(&id->lock, flags);
for (i = 0; i < DEBUG_MAX_VIEWS; i++) {
if (id->views[i] == NULL)
@@ -962,6 +974,8 @@
id->name,view->name);
printk(KERN_WARNING
"debug: maximum number of views reached (%i)!\n", i);
+ debug_delete_proc_dir_entry(id->proc_root_entry, pde);
+
rc = -1;
}
else {
@@ -970,11 +984,7 @@
mode |= S_IRUSR;
if (view->input_proc)
mode |= S_IWUSR;
- id->proc_entries[i] =
- debug_create_proc_dir_entry(id->proc_root_entry,
- view->name, mode,
- &debug_inode_ops,
- &debug_file_ops);
+ id->proc_entries[i] = pde;
rc = 0;
}
spin_unlock_irqrestore(&id->lock, flags);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)