Re: [BUG] Kernel error when first driver unbind with empty MMC slot
From: Petr Cvek
Date: Sun Sep 13 2015 - 16:52:39 EST
Dne 13.9.2015 v 11:56 Robert Jarzmik napsal(a):
> Petr Cvek <petr.cvek@xxxxxx> writes:
>
>> During testing of these patches
>>
>> [PATCH] mmc: pxamci: fix card detect threaded interrupt
>> [PATCH 1/3] dmaengine: virt-dma: don't always free descriptor upon completion
>>
>> I have found unrelated error.
>>
>> How to reproduce:
>>
>> 1) Remove any SD card
>> 2) No CPLD initial power for card (in magician.c, probably irrelevant)
>> 3) Boot into an initrd filesystem
>> 4) Run command echo -n "pxa2xx-mci.0" > /sys/class/mmc_host/mmc0/device/driver/unbind
>> 5) Error message will be printed:
>>
>> [ 97.877519] irq 39: nobody cared (try booting with the "irqpoll" option)
>
> To go forward, I need to either :
> - see the debug messages activated, especially the one pxamci_irq()
> - or apply this patch [1] to see if it fixes the issue :
>
> Cheers.
>
> --
> Robert
>
> [1] Patch, totally untested/not compiled
> ---8<---
> diff --git a/drivers/mmc/host/pxamci.c b/drivers/mmc/host/pxamci.c
> index 67c9d1443597..3e0a7dd8da84 100644
> --- a/drivers/mmc/host/pxamci.c
> +++ b/drivers/mmc/host/pxamci.c
> @@ -890,9 +890,7 @@ static int pxamci_remove(struct platform_device *pdev)
> host->pdata->exit(&pdev->dev, mmc);
>
> pxamci_stop_clock(host);
> - writel(TXFIFO_WR_REQ|RXFIFO_RD_REQ|CLK_IS_OFF|STOP_CMD|
> - END_CMD_RES|PRG_DONE|DATA_TRAN_DONE,
> - host->base + MMC_I_MASK);
> + pxamci_disable_irq(host, MMC_I_MASK_ALL);
>
> free_irq(host->irq, host);
> dmaengine_terminate_all(host->dma_chan_rx);
>
Yes, the patch fixes it. Log on unfixed version with debugging information enabled consists of many of a line:
[ 125.016666] PXAMCI: irq 00000200 stat 00002042
Petr Cvek
--
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/