Messages in this thread | | | Subject | Re: [PATCH] staging: nvec: Fix usleep_range is preferred over udelay | From | Mikko Perttunen <> | Date | Wed, 29 Nov 2017 18:07:53 +0200 |
| |
On 11/29/2017 06:00 PM, Joshua Abraham wrote: > Signed-off-by: Joshua Abraham <j.abraham1776@gmail.com> > > This patch fixes the issue: > > CHECK: usleep_range is preferred over udelay; see > Documentation/timers/timers-howto.txt > > --- > drivers/staging/nvec/nvec.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/staging/nvec/nvec.c b/drivers/staging/nvec/nvec.c > index 4ff8f47385da..2a01ef4b54ff 100644 > --- a/drivers/staging/nvec/nvec.c > +++ b/drivers/staging/nvec/nvec.c > @@ -631,7 +631,7 @@ static irqreturn_t nvec_interrupt(int irq, void *dev) > break; > case 2: /* first byte after command */ > if (status == (I2C_SL_IRQ | RNW | RCVD)) { > - udelay(33); > + usleep_range(30, 35); > if (nvec->rx->data[0] != 0x01) { > dev_err(nvec->dev, > "Read without prior read command\n"); >
This is incorrect, as this function is an interrupt handler and we cannot sleep in interrupt context.
Cheers, Mikko
| |