> From: Vitaly Kuznetsov [mailto:vkuznets@xxxxxxxxxx] (c) > >>> > > int (*on_msg)(void *, int); /* callback on new user message */ > >>> > > >>> > I think we can get away without introducing this new flag, e.g. if we > >>> > replace release_event with an atomic which will hold the state > >>> > (open/closed). This will also elimenate possible races above. I can try > >>> > prototyping a patch if you want me to. > >>> > -- > >>> > Vitaly > >>> > >>> Thanks for offering the help! Please do. :-) > >> > >> BTW, IMO I found another potential issue: > >> In hvt_op_open -> hvt_reset -> kvp_on_reset(), I think we should call > >> init_completion() instead of complete()? > >> > > > > To me it looks like we can do better with something different from > > struct completion, I'll take a look later today. > > Dexuan, > > please take a look at the attached patch. After looking at the code > again it occured to me that it's going to be easier to move release wait > to the transport itself. Lightly tested. > > Vitaly You made a neat patch, which can fix the bug. Thank you a lot! Thanks, -- Dexuan _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel