On Wed, Jul 08, 2020 at 01:59:46PM +0530, Anand Moon wrote: > > Still you did not mention that you convert the function to use sleeping > > primitive. You also did not mention whether it is actually allowed in > > this context and I am not sure if you investigated it. > > > OK, I am not sure how to resolve your query. > I learned some new things. > > So here are some points. > -- Yes read_poll_timeout internally used might_sleep if sleep_us != 0 > under some condition. > -- None of the code in phy-exynos5-usbdrd.c is called using kernel > synchronization > methods like spinlock / mutex. More important is rather the call to calibrare() as this is the place where affected code is used. It is not only about synchronisation primitives used in the driver but also in the phy core. I guess there should not be a problem. I just stated the fact that you did not mention anything about it. > -- I have checked this function is called non atomic context. Great! Best regards, Krzysztof