On Mon, Aug 17, 2015 at 12:04:07PM -0400, Alan Stern wrote: > On Mon, 17 Aug 2015, Peter Zijlstra wrote: > > > On Mon, Aug 17, 2015 at 10:32:20AM -0400, Alan Stern wrote: > > > On Mon, 17 Aug 2015, Peter Chen wrote: > > > > > > > Hi Alan, > > > > > > > > When run "echo 105 > /sys/bus/platform/devices/ci_hdrc.1/uframe_periodic_max", > > > > if lockdep check is enabled, there is below dump, I am afraid it can't > > > > find how to fix it, the warning shows the key is not persistent. > > > > (see line 757, kernel/locking/lockdep.c). > > > > > > > > > > > > [ 70.190430] INFO: trying to register non-static key. > > > > [ 70.195437] the code is fine but needs lockdep annotation. > > > > [ 70.200939] turning off the locking correctness validator. > > > > > I don't understand this either. > > > > > > Maybe Peter Z. can help. This dump is triggered by the > > > spin_lock_irqsave() call in > > > drivers/usb/host/ehci-sysfs.c:store_uframe_periodic_max(). That > > > function doesn't appear to be unusual in any way. > > > > Can it happen this code is called before a corresponding > > spin_lock_init()? > > No; the spinlock gets initialized in ehci_init() long before the sysfs > file is registered. > > > Alternatively, memory corruption is an option. If something stomped on > > the lockdep state you can trigger this I suppose. > oops, sorry, it is memory corruption. The chipidea driver overrides platform device's drvdata as its private data (struct ci_hdrc *), this data was expected as struct usb_hcd * at store_uframe_periodic_max. -- Best Regards, Peter Chen -- 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