diff mbox

new test

Message ID 545BF8C7.7070206@laposte.net (mailing list archive)
State New, archived
Delegated to: Bjorn Helgaas
Headers show

Commit Message

Barto Nov. 6, 2014, 10:40 p.m. UTC
Hello Liu Chuansheng,

I have good news, your patch based on /drivers/pci/quirks.c works very
well,

I have no problems after a standby mode, my JMB363/368 SATA/IDE JMicron
Pcie works without problems


Le 06/11/2014 15:33, Liu, Chuansheng a écrit :
> Thanks Barto. 
> 
> Could you try below patch? I made the change in file quirks.c.
>   
> 
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> 
> index 90acb32..b40485f 100644
> 
> --- a/drivers/pci/quirks.c
> 
> +++ b/drivers/pci/quirks.c
> 
> @@ -29,6 +29,21 @@
> 
> #include "pci.h"
> 
>  /*
> 
> + * For JMicron chips, we need to disable the async_suspend method,
> otherwise
> 
> + * they will hit the power-on issue when doing device resume, add one quick
> 
> + * solution to disable the async_suspend method.
> 
> + */
> 
> +static void pci_async_suspend_fixup(struct pci_dev *pdev)
> 
> +{
> 
> +        /* 
> 
> +         * disabling the async_suspend method for JMicron chips to
> 
> +         * avoid device resuming issue.
> 
> +         */
> 
> +        device_disable_async_suspend(&pdev->dev);
> 
> +}
> 
> +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_JMICRON, PCI_ANY_ID,
> pci_async_suspend_fixup);
> 
> +
> 
> +/*
> 
>   * Decoding should be disabled for a PCI device during BAR sizing to avoid
> 
>   * conflict. But doing so may cause problems on host bridge and perhaps
> other
> 
>   * key system devices. For devices that need to have mmio decoding
> always-on,
> 
>  
> 
>  
>
diff mbox

Patch

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 90acb32..b40485f 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -29,6 +29,21 @@ 
#include "pci.h"
 /*
+ * For JMicron chips, we need to disable the async_suspend method, otherwise
+ * they will hit the power-on issue when doing device resume, add one quick
+ * solution to disable the async_suspend method.
+ */
+static void pci_async_suspend_fixup(struct pci_dev *pdev)
+{
+        /*
+         * disabling the async_suspend method for JMicron chips to
+         * avoid device resuming issue.
+         */
+        device_disable_async_suspend(&pdev->dev);
+}
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_JMICRON, PCI_ANY_ID, pci_async_suspend_fixup);
+
+/*
  * Decoding should be disabled for a PCI device during BAR sizing to avoid
  * conflict. But doing so may cause problems on host bridge and perhaps other
  * key system devices. For devices that need to have mmio decoding always-on,