taiyo K wrote: > Hello Lei, > > Thanks for the reply. I understood your consideration that you would rather > play it safe than take risks about this case basically. > > Just out of curiosity, are there any special reasons you can not actually try > patches contributed from community? I just simply thought it would also be > another nice contribute to give some feedback to the community from Sun. > However it seems you did not have a chance to do so, Chototsu patch in > paticular. > Actually, some Sun engineers tried Chototsu's patch. It works for their mobile internet access. I didn't try is because I don't have such a device and couldn't access 3G service at that moment. My own patch was tested by community members from abroad too. Solaris/OpenSolaris has strict quality requirements. Without fully test or strong justification, a patch can not probably be accepted by OpenSolaris advocate. This rule is applicable to anybody, no matter from community member or from Sun internal engineers.
> > BTW regarding Chototsu patch, I found some comparison of his patch and Sun's > patch. (Chototsu's insight written in Japanese) > It must be pretty informative to this thread, so I translated it (pls see > below). > Thank you very much for the information. I'll do more investigation. Thanks, Lei Chen > ------------------ > I investigated any possible cases, and have reached the conclusion that the > flag check of USBSER_PORT_IS_BUSY(pp) should be removed. > These are the grounds of my conclusion. > > ?USBSER_ACT_CTL is used by wq_thread only. Thus there is no need of > serialization. > ?USBSER_ACT_DELAY and USBSER_ACT_BREAK should be checked by wq_thread, and > should not be done in usbser_tx_cb() function. > ?USBSER_ACT_DELAY is already checked by wq_thread. Hence there is no problem. > ?USBSER_ACT_BREAK is not checked by wq_thread, so it may be better to add > code(s) to check USBSER_ACT_BREAK. Even in that case, however, wq_thead is > the one who should check it. The check should not be done in usbser_tx_cb(). > > Judging from these reasons, the patch provided by Sun has problems. > > I guess that there may have been big refactoring in the past and that it > seems some modification mistakes still exist. I suspect this > USBSER_PORT_IS_BUSY(pp) issue is one of them. > ------------------- > > Hope this helps. > > Thanks and regards, > Robinky >