Em Wed, 16 Mar 2016 09:53:12 -0300 Javier Martinez Canillas <javier@xxxxxxxxxxxx> escreveu: > Hello Mauro, > > On Wed, Mar 16, 2016 at 9:04 AM, Mauro Carvalho Chehab > <mchehab@xxxxxxxxxxxxxxx> wrote: > > Right now, the lock schema for media_device struct is messy, > > since sometimes, it is protected via a spin lock, while, for > > media graph traversal, it is protected by a mutex. > > > > Solve this conflict by always using a mutex. > > > > As a side effect, this prevents a bug where the media notifiers > > were called at atomic context. > > > > Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Btw, I'm running a stress test here, doing bind/unbind on au0828, while calling mc_nextgen_test: Running one instance of this loop: $ i=0; while :; do i=$((i+1)); echo "loop $i"; sudo su -c "echo 1-3.1.2:1.0 > /sys/bus/usb/drivers/au0828/bind"; sudo su -c "echo 1-3.1.2:1.0 > /sys/bus/usb/drivers/au0828/unbind"; done and 3 instances of this loop: $ while :; do clear; mc_nextgen_test; done My test machine has 4 CPUs, so this should be enough to check if the mutexes at ioctl and at the register/unregister functions are ok. Right now, the loop ran 160 times. Not a single trouble. Ok, it is not doing any graph traversal ops, but the code seems to be pretty much reliable with mutexes. I'll keep it running for more time to be sure, but it seems that the current media core works fine for dynamic entity/interface/link addition/removal. Regards, Mauro > > --- > > I agree with the patch. > > Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> > > Best regards, > Javier > -- > To unsubscribe from this list: send the line "unsubscribe linux-media" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Thanks, Mauro -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html