Re: [PATCH] tmio_mmc: Make ack_mmc_irqs() write-only

From: Magnus Damm
Date: Fri Aug 20 2010 - 18:55:45 EST


On Sat, Aug 21, 2010 at 12:12 AM, Arnd Hannemann <arnd@xxxxxxxxxx> wrote:
> Am 20.07.2010 09:51, schrieb Yusuke Goda:
>> This patch updates ack_mmc_irqs() to acknowledge using write instead
>> of read-modify-write. Without this fix the old read-modify-write
>> implementation may acknowledge interrupt sources by mistake. The
>> driver may if so lock-up waiting forever for an interrupt that will
>> never come. Observed with the TMIO_STAT_RXRDY bit together with
>> CMD53 on AR6002 and BCM4318 SDIO cards in polled mode.
>>
>> Signed-off-by: Yusuke Goda <yusuke.goda.sx@xxxxxxxxxxx>
>
> Tested on AP4EVB (sh7372) with SDHC and MMC cards - no regression.
>
> Tested-by: Arnd Hannemann <arnd@xxxxxxxxxx>

Thanks, Arnd!

Andrew, is there anything you need to (re)pick-up this patch?

At the current point this patch has:
Signed-off-by: Yusuke Goda <yusuke.goda.sx@xxxxxxxxxxx>
Acked-by: Magnus Damm <damm@xxxxxxxxxxxxx>
Tested-by: Arnd Hannemann <arnd@xxxxxxxxxx>

Ian Molton also gave his "Acked-by" in a different email thread,
please see below:
On Tue, Jul 27, 2010 at 5:11 PM, Ian Molton <ian@xxxxxxxxxxxxxx> wrote:
> Right now, the docs in question are on my dead fileserver.
>
> Given that, I'll say two things:
>
> 1) Its safe to assume anywhere that does a RMW does it because my
> original docs said so. I dont recall having ever "just done it because
> I had to" when I wrote this.
> 2) The code as is is clearly broken.
>
> I'm not really sure what to do about this. It got made 'doubly broken'
> when we added asic3 support because it was the first platform added
> where you couldnt just do a 32 bit RMW on the pair of registers.
>
> I'm inclined to say "Go Go Go" and see if anything breaks on this one.
> I cant see why the docs want it to be RMW as theres nothing stopping
> the hardware asserting an IRQ even if the CPU disables IRQs / did the
> RMW as an atomic op.
>
> This one therefore,
>
> Acked-by: Ian Molton <ian@xxxxxxxxxxxxxx>

Thanks for the help everyone and sorry about the confused state of things.

/ magnus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/