Amitkumar Karwar <amitkar...@gmail.com> writes:

> From: Karun Eagalapati <karun...@gmail.com>
>
> SDIO suspend and resume handlers are implemented and verified
> that device works after suspend/resume cycle.
>
> Signed-off-by: Karun Eagalapati <karun...@gmail.com>
> Signed-off-by: Amitkumar Karwar <amit.kar...@redpinesignals.com>

[...]

> +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

Reply via email to