diff mbox

[BUG] Kernel error when first driver unbind with empty MMC slot

Message ID 87pp1mskw3.fsf@belgarion.home (mailing list archive)
State New, archived
Headers show

Commit Message

Robert Jarzmik Sept. 13, 2015, 9:56 a.m. UTC
Petr Cvek <petr.cvek@tul.cz> 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<---

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Petr Cvek Sept. 13, 2015, 8:51 p.m. UTC | #1
Dne 13.9.2015 v 11:56 Robert Jarzmik napsal(a):
> Petr Cvek <petr.cvek@tul.cz> 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-mmc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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);