On Thu, Jun 05, 2008 at 12:25:06PM +0200, Armin Schindler wrote:On Sat, 31 May 2008, Alexey Dobriyan wrote:1. creating proc entry and not saving pointer to PDE and checking it
is not going to work.
I don't know where you found this. I have look even in older versions, but
the pointer divas_proc_entry is set by proc_create(). The patch to
divasproc.c is wrong, it exists from the beginning of the driver.
(2.6.25.4 doesn't contain the bug you describe).
Check mainline kernel, namely, 2.6.26-rc5.
----- a/drivers/isdn/hardware/eicon/divasproc.c
+++ b/drivers/isdn/hardware/eicon/divasproc.c
@@ -125,8 +125,8 @@ static const struct file_operations divas_fops = {
int create_divas_proc(void)
{
- proc_create(divas_proc_name, S_IFREG | S_IRUGO, proc_net_eicon,
- &divas_fops);
+ divas_proc_entry = proc_create(divas_proc_name, S_IFREG | S_IRUGO,
+ proc_net_eicon, &divas_fops);
if (!divas_proc_entry)
return (0);