Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932455AbZICWsq (ORCPT ); Thu, 3 Sep 2009 18:48:46 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932426AbZICWsp (ORCPT ); Thu, 3 Sep 2009 18:48:45 -0400 Received: from mail-fx0-f217.google.com ([209.85.220.217]:59315 "EHLO mail-fx0-f217.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932370AbZICWso convert rfc822-to-8bit (ORCPT ); Thu, 3 Sep 2009 18:48:44 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=lNfilGCJYRxOT7rokhdXrdmqgwYchIVvtmOTN5KasQhf1qM3gpFmpSvFNsn8pN0u7F IUm/KlYWmjsPijaiIV/dH+F8NhhH7sAGmGX1Cs2Q3nbAPsdBcsAf3eR7PAl1UauxcnlU Eah0rQRq0jH/vjjHYoJPnLsUe3k+ok7j0xwLs= MIME-Version: 1.0 In-Reply-To: <20080808082930.ZZRA012@mailhub.coreip.homeip.net> References: <20080731145739.fe8923be.akpm@linux-foundation.org> <20080801030444.GB18953@anvil.corenet.prv> <1218192589.8625.88.camel@twins> <20080808082930.ZZRA012@mailhub.coreip.homeip.net> Date: Fri, 4 Sep 2009 00:48:45 +0200 Message-ID: Subject: Re: INFO: possible recursive locking detected ps2_command From: Zdenek Kabelac To: Dmitry Torokhov Cc: Peter Zijlstra , Andrew Morton , linux-kernel@vger.kernel.org, linux-input@vger.kernel.org, Jiri Kosina , Rabin Vincent Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 5818 Lines: 142 2008/8/8 Dmitry Torokhov : > On Fri, Aug 08, 2008 at 12:49:49PM +0200, Peter Zijlstra wrote: >> On Thu, 2008-07-31 at 23:04 -0400, Dmitry Torokhov wrote: >> > On Thu, Jul 31, 2008 at 02:57:39PM -0700, Andrew Morton wrote: >> > > >> > > (cc linux-input) >> > > >> > > On Thu, 31 Jul 2008 11:41:25 +0200 >> > > "Zdenek Kabelac" wrote: >> > > >> > > > Hi >> > > > >> > > > During mouse unplugging from psaux connector from the laptops' docking >> > > > station I've got attached INFO trace. >> > > > (laptops still has synaptics device) >> > > > >> > >> > Dell? >> > >> > > > Also for unknown reason to me ?psaux mouse & synaptic device do not >> > > > work somehow together - is it hw limitation >> > > > of /dev/input/mice ?interface? >> > > > (USB mouse and synaptics do work quite well together) >> > > > >> > > > [ INFO: possible recursive locking detected ] >> > > > 2.6.27-rc1 #48 >> > > >> > > (it's 2.6.27-rc1) >> > > >> > >> > Peter, here is the trace we talked about long time ago. For some reason >> > lockdep annotation only works once. If reconnect is forced or psmouse >> > module is reloaded lockdep starts complaining about passthrough port. >> >> Bit puzzling - and I don't have any ps2 hardware around to test with >> (nor do I normally use modules - but that is fixable of course). >> >> Does Rabin's patch help? >> >> ? http://lkml.org/lkml/2008/8/7/329 >> > > I doubt it resolves problem fully because it only takes care of module > unload. I can easily trip lockdep by reconnecting the device. Just to > give some more details about the problem: > > ?- synaptics touchpads have a pass-through port that allows to connect > ? either external mouse or maybe a trackpoint device. Both devices > ? are represented by 'serio' structures and are handled by the same > ? driver (psmouse). > > ?- as far as I know we have proper locking there and lockdep > ? annotatinos were added to lockdep to reflect the nesting of the > ? serio ports. > > ?- if child port (pass-through port) is destroyed and recreated (due > ? to module unload, or because user requested reconnect through sysfs > ? or system-initiated reconnect) lockdep starts complaining although > ? the new child port should still have the same "depth" as the old > ? one. > Well just noticed this issue again in my log - during resume operation - thus no external mouse connection in the game this time: platform dock.2: completing resume platform dock.1: completing resume platform dock.0: completing resume PM: Finishing wakeup. Restarting tasks ... done. PM: Removing info for No Bus:vcs63 PM: Removing info for No Bus:vcsa63 psmouse.c: Failed to enable mouse on isa0060/serio1 PM: Removing info for No Bus:mouse1 PM: Removing info for No Bus:event8 PM: Removing info for No Bus:input8 ============================================= [ INFO: possible recursive locking detected ] 2.6.31-rc8-00043-gf2332bf #30 --------------------------------------------- kseriod/207 is trying to acquire lock: (&ps2dev->cmd_mutex){+.+...}, at: [] ps2_command+0x5b/0x470 but task is already holding lock: (&ps2dev->cmd_mutex){+.+...}, at: [] ps2_command+0x5b/0x470 other info that might help us debug this: 4 locks held by kseriod/207: #0: (serio_mutex){+.+.+.}, at: [] serio_thread+0x3e/0x400 #1: (&serio->drv_mutex){+.+.+.}, at: [] serio_connect_driver+0x30/0x60 #2: (psmouse_mutex){+.+.+.}, at: [] psmouse_connect+0x35/0x370 [psmouse] #3: (&ps2dev->cmd_mutex){+.+...}, at: [] ps2_command+0x5b/0x470 stack backtrace: Pid: 207, comm: kseriod Not tainted 2.6.31-rc8-00043-gf2332bf #30 Call Trace: [] __lock_acquire+0xe6a/0x1090 [] lock_acquire+0x9a/0x180 [] ? ps2_command+0x5b/0x470 [] __mutex_lock_common+0x5f/0x4a0 [] ? ps2_command+0x5b/0x470 [] ? dump_trace+0x118/0x2f0 [] ? ps2_command+0x5b/0x470 [] mutex_lock_nested+0x41/0x50 [] ps2_command+0x5b/0x470 [] psmouse_sliced_command+0x33/0x90 [psmouse] [] synaptics_pt_write+0x2c/0x60 [psmouse] [] ps2_sendbyte+0x66/0x130 [] ? trace_hardirqs_on_caller+0x15d/0x1a0 [] ? trace_hardirqs_on+0xd/0x10 [] ps2_command+0xf9/0x470 [] ? trace_hardirqs_on+0xd/0x10 [] ? _spin_unlock_irq+0x3b/0x60 [] psmouse_probe+0x2c/0xa0 [psmouse] [] ? serio_open+0x16/0x50 [] psmouse_connect+0x1b8/0x370 [psmouse] [] serio_connect_driver+0x3b/0x60 [] serio_driver_probe+0x20/0x30 [] driver_probe_device+0x89/0x180 [] ? __device_attach+0x0/0x60 [] __device_attach+0x53/0x60 [] bus_for_each_drv+0x6c/0xa0 [] device_attach+0x89/0x90 [] serio_find_driver+0x1d/0x50 [] serio_reconnect_port+0x57/0x90 [] serio_thread+0x258/0x400 [] ? autoremove_wake_function+0x0/0x40 [] ? serio_thread+0x0/0x400 [] kthread+0xa6/0xb0 [] child_rip+0xa/0x20 [] ? restore_args+0x0/0x30 [] ? kthread+0x0/0xb0 [] ? child_rip+0x0/0x20 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/