Amitkumar Karwar <amitkarwar@xxxxxxxxx> writes: > From: Karun Eagalapati <karun256@xxxxxxxxx> > > SDIO suspend and resume handlers are implemented and verified > that device works after suspend/resume cycle. > > Signed-off-by: Karun Eagalapati <karun256@xxxxxxxxx> > Signed-off-by: Amitkumar Karwar <amit.karwar@xxxxxxxxxxxxxxxxxx> [...] > +static int rsi_sdio_disable_interrupts(struct sdio_func *pfunc) > +{ > + struct rsi_hw *adapter = sdio_get_drvdata(pfunc); > + u8 isr_status = 0, data = 0; > + int ret; > + > + rsi_dbg(INFO_ZONE, "Waiting for interrupts to be cleared.."); > + do { > + rsi_sdio_read_register(adapter, RSI_FN1_INT_REGISTER, > + &isr_status); > + rsi_dbg(INFO_ZONE, "."); > + } while (isr_status); Never ending loops in kernel are always a bad idea, better to add a reasonable timeout if/when something goes wrong. -- Kalle Valo