On Wed, 15 August 2012 Jiri Kosina <jkosina@xxxxxxx> wrote: > On Wed, 15 Aug 2012, Bruno Prémont wrote: > > > I see. Alan Stern has fixed a huge pile of things in this area in 3.6-rc1. > > > I have expected all of those to actually be on theoretical problems not > > > ever having happened in the wild, but it might be that you are actually > > > chasing on of those. > > > > > > Could you please retest with latest Linus' tree (or at least eb055fd0560b) > > > to see whether this hasn't actually been fixed already by Alan's series? > > > > I've started trying that out, it seems Alan's work improved things. > > > > For the first few attempts I have not seen SLAB corruptions, though after > > a few rounds I hit accumulation of the following messages: > > [ 297.174828] hid-picolcd 0003:04D8:C002.0003: output queue full > > [ 297.181098] hid-picolcd 0003:04D8:C002.0003: output queue full > > [ 297.187820] hid-picolcd 0003:04D8:C002.0003: output queue full > > [ 297.194087] hid-picolcd 0003:04D8:C002.0003: output queue full > > > > with sporadically in between: > > [ 292.668019] hid-picolcd 0003:04D8:C002.0003: usb_submit_urb(out) failed: -1 > > > > At first glance I think the queue filling up and never draining is caused > > by hid_hw_stop() stalling the queue and the time between both being just too > > short. > > I don't really understand this explanation. Once usb_kill_urb() returns, > the URB should be available for future use (and therefore all queues > completely drained). I won't have time today to check, though my guess is that on each echo $usb-id > bind; echo $usb-id > unbind under /sys/bus/hid/drivers/hid-picolcd/ the USB urb queue fills a bit does not get cleared. Is usb_kill_urb() called when unbinding just the specific hid driver? If so my short timing between bind/unbind must be triggering something else... Otherwise I'm missing something as at first time I got no "output queue full" messages, but as I repeated the bind/unbind sequences the prints per bind/unbind iteration increased in number. Anyhow, on Friday evening/week-end I will continue digging and report back with my findings. Thanks, Bruno -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html