Re: USB regression: devices not initially recognized

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Oct 26, 2009 at 09:33:33PM -0700, Arjan van de Ven wrote:
> On Mon, 26 Oct 2009 22:31:16 -0400
> eschvoca <eschvoca@xxxxxxxxx> wrote:
> 
> > Hi Oliver,
> > 
> > (Adding cc: Arjan)
> > 
> > On Wed, Oct 14, 2009 at 10:54 PM, eschvoca <eschvoca@xxxxxxxxx> wrote:
> > > Hi Oliver,
> > >
> > > It ends up that the problem happens sporadically -- some reboots the
> > > keyboard and bluetooth adapter don't work while other reboots it
> > > does. I tried variations of reboot vs suspend vs shutdown vs unplug
> > > power and couldn't find a repeatable pattern.  Perhaps the problem
> > > is related to Ubuntu trying to speed up the boot process which
> > > doesn't wait long enough for the USB devices to respond.  My mouse
> > > always works while my USB bluetooth dongle and keyboard (through a
> > > GASIA PS2toUSB Adapter) do not.
> > >
> > > I've been looking for a guide on how to do a "git bisect" on vanilla
> > > kernels on ubuntu but haven't found anything that works well.  I
> > > compiled a vanilla kernel but when I went to install the debs I was
> > > warned that there already was a 2.6.28 kernel there and I would
> > > overwrite it.  I would like to do a "git bisect" on the vanilla
> > > kernel and be able to install them without conflicts.  Currently
> > > the problem is showing up in about 25% of reboots.
> > >
> > > Please direct.
> > >
> > > Thanks.
> > 
> > After 16 bisects I tracked down the problem with my USB keyboard
> > adapter and USB bluetooth dongle not initializing on boot-up to this
> > commit:
> 
> my fear is the following: something ELSE in the system is missing a
> synchronize_rcu(), and this case happened to save it by virtue of being
> spurious.
> 
> Paul: do we call synchronize_rcu() before we go to userspace for the
> first time somewhere?

In many cases, yes.  But I don't know of a specific synchronize_rcu()
that is guaranteed to be executed before the first userspace execution
on all kernel configurations for all architectures.

I recommend putting a printk() in synchronize_rcu() to check up on this
on the system in question.  (Or a WARN_ON_ONCE() if log space is limited.)

							Thanx, Paul

> Also.. in theory your X will get this sort of information from HAL, and
> HAL will get it on demand as devices show up. I doubt Ubuntu has broken
> that too much :)
> 
> 
> -- 
> Arjan van de Ven 	Intel Open Source Technology Centre
> For development, discussion and tips for power savings, 
> visit http://www.lesswatts.org
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux