2015-02-02 11:35:51

by Tim Sander

[permalink] [raw]
Subject: [PATCH] 3.19-rc7: add quirk for 1c28:0122 (rev 14) SATA controller


The long name for this device is
Lite-On IT Corp. / Plextor M6e PCI Express SSD [Marvell 88SS9183] (rev 14)

Background: the error description on bugzilla
https://bugzilla.kernel.org/show_bug.cgi?id=42679
inspired me to check if my brand new m4 pci ssd could work with a quirk.
Its device representation is not visible before this patch.
After this patch it appears as a normal device. Formatting
and mounting worked so far.

Signed-off-by: Tim Sander <[email protected]>
---
drivers/pci/quirks.c | 4 ++++
include/linux/pci_ids.h | 3 +++
2 files changed, 7 insertions(+)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index e52356a..fad7383 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -3540,6 +3540,10 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_TTI, 0x0642,
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_JMICRON,
PCI_DEVICE_ID_JMICRON_JMB388_ESD,
quirk_dma_func1_alias);
+/* https://bugzilla.kernel.org/show_bug.cgi?id=42679 */
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_LITE_ON,
+ PCI_DEVICE_ID_PLEXTOR_M6E,
+ quirk_dma_func1_alias);

/*
* A few PCIe-to-PCI bridges fail to expose a PCIe capability, resulting in
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index e63c02a..1607b20 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -2487,6 +2487,9 @@

#define PCI_VENDOR_ID_ASMEDIA 0x1b21

+#define PCI_VENDOR_ID_LITE_ON 0x1c28
+#define PCI_DEVICE_ID_PLEXTOR_M6E 0x0122
+
#define PCI_VENDOR_ID_CIRCUITCO 0x1cc8
#define PCI_SUBSYSTEM_ID_CIRCUITCO_MINNOWBOARD 0x0001

--
1.9.1


2015-02-02 14:56:05

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [PATCH] 3.19-rc7: add quirk for 1c28:0122 (rev 14) SATA controller

[+cc Alex]

On Mon, Feb 2, 2015 at 5:29 AM, Tim Sander <[email protected]> wrote:
>
> The long name for this device is
> Lite-On IT Corp. / Plextor M6e PCI Express SSD [Marvell 88SS9183] (rev 14)
>
> Background: the error description on bugzilla
> https://bugzilla.kernel.org/show_bug.cgi?id=42679
> inspired me to check if my brand new m4 pci ssd could work with a quirk.
> Its device representation is not visible before this patch.
> After this patch it appears as a normal device. Formatting
> and mounting worked so far.
>
> Signed-off-by: Tim Sander <[email protected]>

Hi Tim,

Thanks a lot for the patch. Can you open a new report at
http://bugzilla.kernel.org and attach the complete dmesg and "lspci
-vv" output without this patch, and also a dmesg log *with* this
patch? I like to keep a little documentation around in case we
restructure this code in the future.

Also, since the vendor and device IDs are used only once, we probably
won't add them to pci_ids.h (see the comment at the top of the file).
Just use the bare constants in the quirk.

Bjorn

> ---
> drivers/pci/quirks.c | 4 ++++
> include/linux/pci_ids.h | 3 +++
> 2 files changed, 7 insertions(+)
>
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index e52356a..fad7383 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -3540,6 +3540,10 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_TTI, 0x0642,
> DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_JMICRON,
> PCI_DEVICE_ID_JMICRON_JMB388_ESD,
> quirk_dma_func1_alias);
> +/* https://bugzilla.kernel.org/show_bug.cgi?id=42679 */
> +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_LITE_ON,
> + PCI_DEVICE_ID_PLEXTOR_M6E,
> + quirk_dma_func1_alias);
>
> /*
> * A few PCIe-to-PCI bridges fail to expose a PCIe capability, resulting in
> diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
> index e63c02a..1607b20 100644
> --- a/include/linux/pci_ids.h
> +++ b/include/linux/pci_ids.h
> @@ -2487,6 +2487,9 @@
>
> #define PCI_VENDOR_ID_ASMEDIA 0x1b21
>
> +#define PCI_VENDOR_ID_LITE_ON 0x1c28
> +#define PCI_DEVICE_ID_PLEXTOR_M6E 0x0122
> +
> #define PCI_VENDOR_ID_CIRCUITCO 0x1cc8
> #define PCI_SUBSYSTEM_ID_CIRCUITCO_MINNOWBOARD 0x0001
>
> --
> 1.9.1
>
>

2015-02-02 20:15:35

by Tim Sander

[permalink] [raw]
Subject: Re: [PATCH] 3.19-rc7: add quirk for 1c28:0122 (rev 14) SATA controller

Hi Bjorn

Am Montag 02 Februar 2015, 08:55:33 schrieb Bjorn Helgaas:
> [+cc Alex]
>
> On Mon, Feb 2, 2015 at 5:29 AM, Tim Sander <[email protected]> wrote:
> > The long name for this device is
> > Lite-On IT Corp. / Plextor M6e PCI Express SSD [Marvell 88SS9183] (rev 14)
> >
> > Background: the error description on bugzilla
> > https://bugzilla.kernel.org/show_bug.cgi?id=42679
> > inspired me to check if my brand new m4 pci ssd could work with a quirk.
> > Its device representation is not visible before this patch.
> > After this patch it appears as a normal device. Formatting
> > and mounting worked so far.
> >
> > Signed-off-by: Tim Sander <[email protected]>
>
> Hi Tim,
>
> Thanks a lot for the patch. Can you open a new report at
> http://bugzilla.kernel.org and attach the complete dmesg and "lspci
> -vv" output without this patch, and also a dmesg log *with* this
> patch? I like to keep a little documentation around in case we
> restructure this code in the future.
Basically its the same issue as the linked bug report, so reporting this twice
seems a little backward to me?

> Also, since the vendor and device IDs are used only once, we probably
> won't add them to pci_ids.h (see the comment at the top of the file).
> Just use the bare constants in the quirk.

Mh, thats what i had first. For patch submission i created the header entries
as it seemed cleaner as you can deduce the manufacturer from the names.
But then its really not that important.

Tim

2015-02-02 20:46:47

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [PATCH] 3.19-rc7: add quirk for 1c28:0122 (rev 14) SATA controller

On Mon, Feb 2, 2015 at 2:15 PM, Tim Sander <[email protected]> wrote:
> Hi Bjorn
>
> Am Montag 02 Februar 2015, 08:55:33 schrieb Bjorn Helgaas:
>> [+cc Alex]
>>
>> On Mon, Feb 2, 2015 at 5:29 AM, Tim Sander <[email protected]> wrote:
>> > The long name for this device is
>> > Lite-On IT Corp. / Plextor M6e PCI Express SSD [Marvell 88SS9183] (rev 14)
>> >
>> > Background: the error description on bugzilla
>> > https://bugzilla.kernel.org/show_bug.cgi?id=42679
>> > inspired me to check if my brand new m4 pci ssd could work with a quirk.
>> > Its device representation is not visible before this patch.
>> > After this patch it appears as a normal device. Formatting
>> > and mounting worked so far.
>> >
>> > Signed-off-by: Tim Sander <[email protected]>
>>
>> Hi Tim,
>>
>> Thanks a lot for the patch. Can you open a new report at
>> http://bugzilla.kernel.org and attach the complete dmesg and "lspci
>> -vv" output without this patch, and also a dmesg log *with* this
>> patch? I like to keep a little documentation around in case we
>> restructure this code in the future.
> Basically its the same issue as the linked bug report, so reporting this twice
> seems a little backward to me?

If you'd rather just attach the dmesg/lspci info to the existing
bugzilla, I'm OK with that. But obviously it is a different device
than for the existing quirks, and it's always nice to have more
complete information in case it turns out that we think it's the same
problem today, but tomorrow we learn about a slightly different issue
that only seemed to be the same.

>> Also, since the vendor and device IDs are used only once, we probably
>> won't add them to pci_ids.h (see the comment at the top of the file).
>> Just use the bare constants in the quirk.
>
> Mh, thats what i had first. For patch submission i created the header entries
> as it seemed cleaner as you can deduce the manufacturer from the names.
> But then its really not that important.

It's not a big deal, and I could make that change myself. I think the
convention is left over from a time when there were unnecessary merge
conflicts on pci_ids.h.

Bjorn

2015-02-03 09:27:22

by Tim Sander

[permalink] [raw]
Subject: Re: [PATCH] 3.19-rc7: add quirk for 1c28:0122 (rev 14) SATA controller

Hi Bjorn

Am Montag, 2. Februar 2015, 08:55:33 schrieb Bjorn Helgaas:
> [+cc Alex]
>
> On Mon, Feb 2, 2015 at 5:29 AM, Tim Sander <[email protected]> wrote:
> > The long name for this device is
> > Lite-On IT Corp. / Plextor M6e PCI Express SSD [Marvell 88SS9183] (rev 14)
> >
> > Background: the error description on bugzilla
> > https://bugzilla.kernel.org/show_bug.cgi?id=42679
> > inspired me to check if my brand new m4 pci ssd could work with a quirk.
> > Its device representation is not visible before this patch.
> > After this patch it appears as a normal device. Formatting
> > and mounting worked so far.
> >
> > Signed-off-by: Tim Sander <[email protected]>
>
> Hi Tim,
>
> Thanks a lot for the patch. Can you open a new report at
> http://bugzilla.kernel.org and attach the complete dmesg and "lspci
> -vv" output without this patch, and also a dmesg log *with* this
> patch? I like to keep a little documentation around in case we
> restructure this code in the future.
I have not opened a bugreport yet, it seems in between there has been some
change in the 3.19-rc release process which made this disk work?

I bumped the rc version while creating and testing the patch as i wanted to be
on the latest release kernel. Maybe there has been some fix along these
releases. Do you have an idea what fix that might be? I *think* i have been on
3.19-rc2 and i know that it has not been working there.

<snip>

Attached a dmesg of the successful case as i fail to reproduce the
unsuccessful part even without the patch :-/. Will investigate later.

Best regards
Tim
> > ---
> >
> > drivers/pci/quirks.c | 4 ++++
> > include/linux/pci_ids.h | 3 +++
> > 2 files changed, 7 insertions(+)
> >
> > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> > index e52356a..fad7383 100644
> > --- a/drivers/pci/quirks.c
> > +++ b/drivers/pci/quirks.c
> > @@ -3540,6 +3540,10 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_TTI, 0x0642,
> >
> > DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_JMICRON,
> >
> > PCI_DEVICE_ID_JMICRON_JMB388_ESD,
> > quirk_dma_func1_alias);
> >
> > +/* https://bugzilla.kernel.org/show_bug.cgi?id=42679 */
> > +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_LITE_ON,
> > + PCI_DEVICE_ID_PLEXTOR_M6E,
> > + quirk_dma_func1_alias);
> >
> > /*
> >
> > * A few PCIe-to-PCI bridges fail to expose a PCIe capability, resulting
> > in
> >
> > diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
> > index e63c02a..1607b20 100644
> > --- a/include/linux/pci_ids.h
> > +++ b/include/linux/pci_ids.h
> > @@ -2487,6 +2487,9 @@
> >
> > #define PCI_VENDOR_ID_ASMEDIA 0x1b21
> >
> > +#define PCI_VENDOR_ID_LITE_ON 0x1c28
> > +#define PCI_DEVICE_ID_PLEXTOR_M6E 0x0122
> > +
> >
> > #define PCI_VENDOR_ID_CIRCUITCO 0x1cc8
> > #define PCI_SUBSYSTEM_ID_CIRCUITCO_MINNOWBOARD 0x0001
> >
> > --
> > 1.9.1


Attachments:
dmesg.fail_cold (76.03 kB)
lspcivv (38.72 kB)
Download all attachments

2015-02-03 16:20:49

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [PATCH] 3.19-rc7: add quirk for 1c28:0122 (rev 14) SATA controller

On Tue, Feb 3, 2015 at 3:27 AM, Tim Sander <[email protected]> wrote:
> Hi Bjorn
>
> Am Montag, 2. Februar 2015, 08:55:33 schrieb Bjorn Helgaas:
>> [+cc Alex]
>>
>> On Mon, Feb 2, 2015 at 5:29 AM, Tim Sander <[email protected]> wrote:
>> > The long name for this device is
>> > Lite-On IT Corp. / Plextor M6e PCI Express SSD [Marvell 88SS9183] (rev 14)
>> >
>> > Background: the error description on bugzilla
>> > https://bugzilla.kernel.org/show_bug.cgi?id=42679
>> > inspired me to check if my brand new m4 pci ssd could work with a quirk.
>> > Its device representation is not visible before this patch.
>> > After this patch it appears as a normal device. Formatting
>> > and mounting worked so far.
>> >
>> > Signed-off-by: Tim Sander <[email protected]>
>>
>> Hi Tim,
>>
>> Thanks a lot for the patch. Can you open a new report at
>> http://bugzilla.kernel.org and attach the complete dmesg and "lspci
>> -vv" output without this patch, and also a dmesg log *with* this
>> patch? I like to keep a little documentation around in case we
>> restructure this code in the future.
> I have not opened a bugreport yet, it seems in between there has been some
> change in the 3.19-rc release process which made this disk work?
>
> I bumped the rc version while creating and testing the patch as i wanted to be
> on the latest release kernel. Maybe there has been some fix along these
> releases. Do you have an idea what fix that might be? I *think* i have been on
> 3.19-rc2 and i know that it has not been working there.
>
> <snip>
>
> Attached a dmesg of the successful case as i fail to reproduce the
> unsuccessful part even without the patch :-/. Will investigate later.

Strange. The only PCI quirks change between v3.19-rc1 and -rc7 is
c3e59ee4e766 ("PCI: Mark Atheros AR93xx to avoid bus reset"), which
shouldn't be related to the problem you're seeing.

Bjorn

>> > ---
>> >
>> > drivers/pci/quirks.c | 4 ++++
>> > include/linux/pci_ids.h | 3 +++
>> > 2 files changed, 7 insertions(+)
>> >
>> > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
>> > index e52356a..fad7383 100644
>> > --- a/drivers/pci/quirks.c
>> > +++ b/drivers/pci/quirks.c
>> > @@ -3540,6 +3540,10 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_TTI, 0x0642,
>> >
>> > DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_JMICRON,
>> >
>> > PCI_DEVICE_ID_JMICRON_JMB388_ESD,
>> > quirk_dma_func1_alias);
>> >
>> > +/* https://bugzilla.kernel.org/show_bug.cgi?id=42679 */
>> > +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_LITE_ON,
>> > + PCI_DEVICE_ID_PLEXTOR_M6E,
>> > + quirk_dma_func1_alias);
>> >
>> > /*
>> >
>> > * A few PCIe-to-PCI bridges fail to expose a PCIe capability, resulting
>> > in
>> >
>> > diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
>> > index e63c02a..1607b20 100644
>> > --- a/include/linux/pci_ids.h
>> > +++ b/include/linux/pci_ids.h
>> > @@ -2487,6 +2487,9 @@
>> >
>> > #define PCI_VENDOR_ID_ASMEDIA 0x1b21
>> >
>> > +#define PCI_VENDOR_ID_LITE_ON 0x1c28
>> > +#define PCI_DEVICE_ID_PLEXTOR_M6E 0x0122
>> > +
>> >
>> > #define PCI_VENDOR_ID_CIRCUITCO 0x1cc8
>> > #define PCI_SUBSYSTEM_ID_CIRCUITCO_MINNOWBOARD 0x0001
>> >
>> > --
>> > 1.9.1