Re: INFO: possible recursive locking detected ps2_command

From: Dmitry Torokhov
Date: Fri Aug 08 2008 - 08:44:57 EST


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" <zdenek.kabelac@xxxxxxxxx> 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.

Thanks!

--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/