This patch results in:
ksymoops 2.4.9 on i586 2.4.21. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.4.21/ (default)
-m /root/linux-2.4.21/System.map (specified)
Jun 25 21:05:29 linux kernel: Unable to handle kernel paging request at
virtual address b7900010
Jun 25 21:05:29 linux kernel: c0134044
Jun 25 21:05:29 linux kernel: *pde = 00000000
Jun 25 21:05:29 linux kernel: Oops: 0000
Jun 25 21:05:29 linux kernel: CPU: 0
Jun 25 21:05:29 linux kernel: EIP: 0010:[<c0134044>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
Jun 25 21:05:29 linux kernel: EFLAGS: 00010286
Jun 25 21:05:29 linux kernel: eax: b7900000 ebx: c326b6d4 ecx: c4b79b20
edx: 00000000
Jun 25 21:05:29 linux kernel: esi: c1d3569c edi: c10b5324 ebp: c22f5e70
esp: c22f5e60
Jun 25 21:05:29 linux kernel: ds: 0018 es: 0018 ss: 0018
Jun 25 21:05:29 linux kernel: Process java (pid: 481, stackpage=c22f5000)
Jun 25 21:05:29 linux kernel: Stack: c326b6d4 00000000 c36a4a2c c1c7053c
c22f5e94 c0132fd5 c326b6d4 c36a4a2c
Jun 25 21:05:29 linux kernel: c326b6d4 c36a4a2c 00000007 00000007
c36a4a2c c22f5eb8 c0118e29 c326b6d4
Jun 25 21:05:29 linux kernel: c36a4a2c c3e78994 c22f4000 c22f4000
c36a4b48 00000001 c22f5ed0 c0119410
Jun 25 21:05:29 linux kernel: Call Trace: [<c0132fd5>] [<c0118e29>]
[<c0119410>] [<c011e629>] [<c0108a37>]
Jun 25 21:05:29 linux kernel: [<c011def8>] [<c01140f6>] [<c0107d8d>]
[<c0108bb3>]
Jun 25 21:05:29 linux kernel: Code: ff 48 10 8b 43 10 8b 00 80 48 14 08 f6
43 1c 02 74 06 ff 8e
Error (pclose_local): Oops_decode_part pclose failed 0xb
Error (Oops_decode_part): no objdump lines read for /tmp/ksymoops.jhcWNc
>>EIP; c0134044 <fput+64/f0> <=====
>>ebx; c326b6d4 <_end+2ed0b58/47a2484>
>>ecx; c4b79b20 <[videodev]videodev_lock+0/0>
>>esi; c1d3569c <_end+199ab20/47a2484>
>>edi; c10b5324 <_end+d1a7a8/47a2484>
>>ebp; c22f5e70 <_end+1f5b2f4/47a2484>
>>esp; c22f5e60 <_end+1f5b2e4/47a2484>
Trace; c0132fd5 <filp_close+55/70>
Trace; c0118e29 <put_files_struct+59/c0>
Trace; c0119410 <do_exit+b0/240>
Trace; c011e629 <sig_exit+99/a0>
Trace; c0108a37 <do_signal+207/290>
Trace; c011def8 <timer_bh+278/390>
Trace; c01140f6 <schedule+2e6/310>
Trace; c0107d8d <sys_rt_sigsuspend+ed/100>
Trace; c0108bb3 <system_call+33/40>
2 errors issued. Results may not be reliable.
Detlef
----- Original Message -----
From: "Oliver Neukum" <[EMAIL PROTECTED]>
To: "Detlef Schmicker (Siebertz Electronic GmbH)"
<[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Wednesday, June 25, 2003 2:46 PM
Subject: Re: [linux-usb-devel] kernel NULL pointer at unpluging pwc webcam
> Am Mittwoch, 25. Juni 2003 14:33 schrieb Detlef Schmicker (Siebertz
Electronic GmbH):
> > Thanks a lot,
> >
> > I added this patch and I introduced one line in videodev.c:
> >
> > static int video_release(struct inode *inode, struct file *file)
> > {
> > struct video_device *vfl;
> > struct module *owner;
> >
> > vfl = video_devdata(file);
> > if (!vfl) return -EINVAL;
> >
> >
> >
> > (last line)
> >
> > Now I do not get a kernel oops anymore. Nevertheless I do not get a
clean
> > disconnect.
> > After I reconnect, I can not get the webcam anymore, it is marked busy?!
>
> Could you try the included patch instead?
>
> Oliver
>
> You can import this changeset into BK by piping this whole message to:
> '| bk receive [path to repository]' or apply the patch as usual.
>
> ===================================================================
>
>
> [EMAIL PROTECTED], 2003-06-25 14:44:39+02:00, [EMAIL PROTECTED]
> - unplug fix
>
>
> videodev.c | 7 ++++---
> 1 files changed, 4 insertions(+), 3 deletions(-)
>
>
> diff -Nru a/drivers/media/video/videodev.c
b/drivers/media/video/videodev.c
> --- a/drivers/media/video/videodev.c Wed Jun 25 14:45:16 2003
> +++ b/drivers/media/video/videodev.c Wed Jun 25 14:45:16 2003
> @@ -182,15 +182,16 @@
> /*
> * Last close of a video for Linux device
> */
> -
> +
> static int video_release(struct inode *inode, struct file *file)
> {
> struct video_device *vfl;
> struct module *owner;
>
> vfl = video_devdata(file);
> - owner = vfl->owner;
> - if (vfl->close)
> + if (vfl)
> + owner = vfl->owner;
> + if (vfl && vfl->close)
> vfl->close(vfl);
>
> down(&videodev_lock);
>
> ===================================================================
>
>
> This BitKeeper patch contains the following changesets:
> 1.1105
> ## Wrapped with gzip_uu ##
>
>
>
-------------------------------------------------------
This SF.Net email is sponsored by: INetU
Attention Web Developers & Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel