Ack: [Quantal/Raring][PATCH 1/2] MFD: rtsx_pcr: Fix probe fail path

Brad Figg brad.figg at canonical.com
Mon Jul 15 14:38:10 UTC 2013


On 07/15/2013 02:08 AM, Adam Lee wrote:
> From: Jiri Slaby <jslaby at suse.cz>
> 
> BugLink: http://bugs.launchpad.net/bugs/1201321
> 
> When rtsx_pci_acquire_irq fails in rtsx_pci_probe, we forget to
> disable an MSI (if we enabled it). This results in this warning on the
> next attempt to load the module:
> WARNING: at drivers/pci/msi.c:834 pci_enable_msi_block+0x2a4/0x2b0()
> Hardware name: HP EliteBook 840 G1
> Modules linked in: rtsx_pci(+) ...
> Pid: 4056, comm: modprobe Tainted: G          I  3.8.0-9405-gd895cb1-1-vanilla #1
> Call Trace:
>  [<ffffffff81045c6a>] warn_slowpath_common+0x7a/0xc0
>  [<ffffffff81045cc5>] warn_slowpath_null+0x15/0x20
>  [<ffffffff81302544>] pci_enable_msi_block+0x2a4/0x2b0
>  [<ffffffffa05e335a>] rtsx_pci_probe+0x55a/0x720 [rtsx_pci]
> ...
> 
> So properly disable MSI in that case.
> 
> Signed-off-by: Jiri Slaby <jslaby at suse.cz>
> Signed-off-by: Samuel Ortiz <sameo at linux.intel.com>
> (cherry picked from commit 9d66b568a215fe2da2a9db736ebf9b8d66082d88)
> Signed-off-by: Adam Lee <adam.lee at canonical.com>
> ---
>  drivers/mfd/rtsx_pcr.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/mfd/rtsx_pcr.c b/drivers/mfd/rtsx_pcr.c
> index 5f4df5a4..81387d4 100644
> --- a/drivers/mfd/rtsx_pcr.c
> +++ b/drivers/mfd/rtsx_pcr.c
> @@ -1141,7 +1141,7 @@ static int __devinit rtsx_pci_probe(struct pci_dev *pcidev,
>  
>  	ret = rtsx_pci_acquire_irq(pcr);
>  	if (ret < 0)
> -		goto free_dma;
> +		goto disable_msi;
>  
>  	pci_set_master(pcidev);
>  	synchronize_irq(pcr->irq);
> @@ -1165,7 +1165,9 @@ static int __devinit rtsx_pci_probe(struct pci_dev *pcidev,
>  
>  disable_irq:
>  	free_irq(pcr->irq, (void *)pcr);
> -free_dma:
> +disable_msi:
> +	if (pcr->msi_en)
> +		pci_disable_msi(pcr->pci);
>  	dma_free_coherent(&(pcr->pci->dev), RTSX_RESV_BUF_LEN,
>  			pcr->rtsx_resv_buf, pcr->rtsx_resv_buf_addr);
>  unmap:
> 


-- 
Brad Figg brad.figg at canonical.com http://www.canonical.com




More information about the kernel-team mailing list