On Mon, Feb 06, 2023 at 05:03:57PM +0000, Tharunkumar.Pasumarthi@xxxxxxxxxxxxx wrote: > > From: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> > > Sent: Monday, February 6, 2023 3:12 PM > > To: Tharunkumar Pasumarthi - I67821 > > <Tharunkumar.Pasumarthi@xxxxxxxxxxxxx> > > > > > + delay = msecs_to_jiffies(OTP_RW_TIMEOUT_MILLISECONDS); > > > > > + j0 = jiffies; > > > > > + j1 = j0 + delay; > > > > > > > > Are you sure this math works out? Please use the jiffies math > > > > functions instead so you can handle wrapping properly. > > > > > > You suggest using any existing APIs to add jiffies to handle wrapping? > > > I am not able to find any such API. Can you please point out API name. > > > > I have no context here for what you are doing with the math in jiffies, but > > that is usually a very odd thing. If you use the normal timer functions, you > > will not have to worry about the wrapping as it is handled for you, right? > > Hi Greg, > Our objective with that part of code is to wait for OTP_STATUS_BUSY_BIT > to be cleared in the hardware, but make sure that we wait for a maximum > of OTP_RW_TIMEOUT_MILLISECONDS ms in the driver and not beyond that. How exact much do you mean by "not beyond that"? > This logic is not possible with normal timer functions. Timer wrapping logic is > handled by time_before API internally. So, there does not seem to be issue with > existing code. I have no context here as to what the code actually looked like anymore, so I do not know what is going on anymore, sorry. greg k-h