Re: new test

From: Barto
Date: Thu Nov 06 2014 - 17:40:40 EST


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 --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,