* [PATCH] MFD: rtsx_pcr, fix probe fail path
@ 2013-04-04 19:34 Jiri Slaby
2013-04-05 16:41 ` Samuel Ortiz
0 siblings, 1 reply; 2+ messages in thread
From: Jiri Slaby @ 2013-04-04 19:34 UTC (permalink / raw)
To: sameo; +Cc: jirislaby, linux-kernel
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@suse.cz>
---
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 2f12cc1..578a113 100644
--- a/drivers/mfd/rtsx_pcr.c
+++ b/drivers/mfd/rtsx_pcr.c
@@ -1138,7 +1138,7 @@ static int 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);
@@ -1162,7 +1162,9 @@ static int 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:
--
1.8.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] MFD: rtsx_pcr, fix probe fail path
2013-04-04 19:34 [PATCH] MFD: rtsx_pcr, fix probe fail path Jiri Slaby
@ 2013-04-05 16:41 ` Samuel Ortiz
0 siblings, 0 replies; 2+ messages in thread
From: Samuel Ortiz @ 2013-04-05 16:41 UTC (permalink / raw)
To: Jiri Slaby; +Cc: jirislaby, linux-kernel
Hi Jiry,
On Thu, Apr 04, 2013 at 09:34:11PM +0200, Jiri Slaby wrote:
> 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@suse.cz>
> ---
> drivers/mfd/rtsx_pcr.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
Applied to mfd-next, thanks.
Cheers,
Samuel.
--
Intel Open Source Technology Centre
http://oss.intel.com/
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-04-05 16:41 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-04 19:34 [PATCH] MFD: rtsx_pcr, fix probe fail path Jiri Slaby
2013-04-05 16:41 ` Samuel Ortiz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).