Amitkumar Karwar <[email protected]> writes:
> From: Karun Eagalapati <[email protected]>
>
> SDIO suspend and resume handlers are implemented and verified
> that device works after suspend/resume cycle.
>
> Signed-off-by: Karun Eagalapati <[email protected]>
> Signed-off-by: Amitkumar Karwar <[email protected]>
[...]
> +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