From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1422948AbWJRUr2 (ORCPT ); Wed, 18 Oct 2006 16:47:28 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1422949AbWJRUr2 (ORCPT ); Wed, 18 Oct 2006 16:47:28 -0400 Received: from 80-218-222-94.dclient.hispeed.ch ([80.218.222.94]:34765 "EHLO steudten.com") by vger.kernel.org with ESMTP id S1422948AbWJRUr1 (ORCPT ); Wed, 18 Oct 2006 16:47:27 -0400 Message-ID: <453692C8.50907@steudten.org> Date: Wed, 18 Oct 2006 22:47:04 +0200 From: "alpha @ steudten Engineering" Organization: Steudten Engineering MIME-Version: 1.0 To: LKML , luca.risolia@studio.unibo.it Subject: Problem with sn9c102 webcam locks .. X-Priority: 4 (Low) Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Mailer: Mailer X-Check: ef8ab44eb1fd1a09a805bb080e67f318 on steudten.com Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Hi list unplugging the webcam, the kernel 2.6.18 gives this output.. description: V4L2 driver for SN9C10x PC Camera Controllers version: 1:1.27 license: GPL vermagic: 2.6.18-1.2200self mod_unload PENTIUMM REGPARM gcc-4.1 depends: videodev,v4l2-common usb 2-2: new full speed USB device using uhci_hcd and address 2 PM: Adding info for usb:2-2 PM: Adding info for No Bus:usbdev2.2_ep00 usb 2-2: configuration #1 chosen from 1 choice PM: Adding info for usb:2-2:1.0 PM: Adding info for No Bus:usbdev2.2_ep81 PM: Adding info for No Bus:usbdev2.2_ep82 PM: Adding info for No Bus:usbdev2.2_ep83 Linux video capture interface: v2.00 sn9c102: V4L2 driver for SN9C10x PC Camera Controllers v1:1.27 usb 2-2: SN9C10[12] PC Camera Controller detected (vid/pid 0x0C45/0x6029) usb 2-2: PAS106B image sensor detected usb 2-2: Initialization succeeded usb 2-2: V4L2 device registered as /dev/video0 usbcore: registered new driver sn9c102 ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.18-1.2200self #1 ------------------------------------------------------- sn-webcam/3184 is trying to acquire lock: (&cam->dev_mutex){--..}, at: [] mutex_lock_interruptible+0x21/0x24 but task is already holding lock: (videodev_lock){--..}, at: [] mutex_lock+0x21/0x24 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (videodev_lock){--..}: [] __lock_acquire+0x82c/0x904 [] lock_acquire+0x4b/0x6c [] __mutex_lock_slowpath+0xb3/0x200 [] mutex_lock+0x21/0x24 [] video_register_device+0x9e/0x217 [videodev] [] sn9c102_usb_probe+0x36e/0x4f2 [sn9c102] [] usb_probe_interface+0x5b/0x8b [] driver_probe_device+0x45/0x92 [] __driver_attach+0x66/0x8f [] bus_for_each_dev+0x36/0x5b [] driver_attach+0x14/0x17 [] bus_add_driver+0x68/0x106 [] driver_register+0x78/0x7d [] usb_register_driver+0x65/0xc6 [] 0xf9396028 [] sys_init_module+0x1340/0x148b [] syscall_call+0x7/0xb [] 0xffffffff -> #0 (&cam->dev_mutex){--..}: [] __lock_acquire+0x760/0x904 [] lock_acquire+0x4b/0x6c [] __mutex_lock_interruptible_slowpath+0xb3/0x254 [] mutex_lock_interruptible+0x21/0x24 [] sn9c102_open+0x43/0x53e [sn9c102] [] video_open+0xba/0x135 [videodev] [] chrdev_open+0xf3/0x123 [] __dentry_open+0xb9/0x187 [] nameidata_to_filp+0x1c/0x2e [] do_filp_open+0x2e/0x35 [] do_sys_open+0x40/0xb5 [] sys_open+0x16/0x18 [] syscall_call+0x7/0xb [] 0xffffffff other info that might help us debug this: 2 locks held by sn-webcam/3184: #0: (videodev_lock){--..}, at: [] mutex_lock+0x21/0x24 #1: (sn9c102_disconnect){..--}, at: [] sn9c102_open+0x1b/0x53e [sn9c102] stack backtrace: [] show_trace_log_lvl+0x12/0x25 [] show_trace+0xd/0x10 [] dump_stack+0x19/0x1b [] print_circular_bug_tail+0x59/0x64 [] __lock_acquire+0x760/0x904 [] lock_acquire+0x4b/0x6c [] __mutex_lock_interruptible_slowpath+0xb3/0x254 [] mutex_lock_interruptible+0x21/0x24 [] sn9c102_open+0x43/0x53e [sn9c102] [] video_open+0xba/0x135 [videodev] [] chrdev_open+0xf3/0x123 [] __dentry_open+0xb9/0x187 [] nameidata_to_filp+0x1c/0x2e [] do_filp_open+0x2e/0x35 [] do_sys_open+0x40/0xb5 [] sys_open+0x16/0x18 [] syscall_call+0x7/0xb ======================= usb 2-2: USB disconnect, address 2 PM: Removing info for No Bus:usbdev2.2_ep81 PM: Removing info for No Bus:usbdev2.2_ep82 PM: Removing info for No Bus:usbdev2.2_ep83 usb 2-2: Disconnecting SN9C10x PC Camera... usb 2-2: V4L2 device /dev/video0 deregistered PM: Removing info for usb:2-2:1.0 PM: Removing info for No Bus:usbdev2.2_ep00 PM: Removing info for usb:2-2 Slab corruption: (Not tainted) start=e6fd417c, len=1024 Redzone: 0x5a2cf071/0x5a2cf071. Last user: [](usb_release_dev+0x40/0x43) [] show_trace_log_lvl+0x12/0x25 [] show_trace+0xd/0x10 [] dump_stack+0x19/0x1b [] check_poison_obj+0x6f/0x171 [] cache_alloc_debugcheck_after+0x25/0x135 [] kmem_cache_alloc+0x94/0xa0 [] audit_alloc+0x65/0xc4 [] copy_process+0x56e/0x11a6 [] do_fork+0x42/0x112 [] sys_clone+0x25/0x2a [] syscall_call+0x7/0xb ======================= 170: 6b 6b 6b 6b 6b 6b 6b 6b 6a 6b 6b 6b 6b 6b 6b 6b Single bit error detected. Probably bad RAM. Run memtest86+ or a similar memory test tool. Next obj: start=e6fd4588, len=1024 Redzone: 0x5a2cf071/0x5a2cf071. Last user: [](skb_release_data+0x80/0x84) 000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b