https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246119

--- Comment #3 from rk <r...@ronald.org> ---
The following change from r359970 appears to be the culprit:

--- stable/12/sys/dev/ahci/ahci_pci.c   (revision 359969)
+++ stable/12/sys/dev/ahci/ahci_pci.c   (revision 359970)
@@ -247,6 +247,7 @@
        {0x2365197b, 0x00, "JMicron JMB365",    AHCI_Q_NOFORCE},
        {0x2366197b, 0x00, "JMicron JMB366",    AHCI_Q_NOFORCE},
        {0x2368197b, 0x00, "JMicron JMB368",    AHCI_Q_NOFORCE},
+       {0x0585197b, 0x00, "JMicron JMB58x",    0},
        {0x611111ab, 0x00, "Marvell 88SE6111",  AHCI_Q_NOFORCE | AHCI_Q_NOPMP |
            AHCI_Q_1CH | AHCI_Q_EDGEIS},
        {0x612111ab, 0x00, "Marvell 88SE6121",  AHCI_Q_NOFORCE | AHCI_Q_NOPMP |
@@ -399,6 +400,7 @@
                     !(ahci_ids[i].quirks & AHCI_Q_NOFORCE)))) {
                        /* Do not attach JMicrons with single PCI function. */
                        if (pci_get_vendor(dev) == 0x197b &&
+                           (ahci_ids[i].quirks & AHCI_Q_NOFORCE) &&
                            (pci_read_config(dev, 0xdf, 1) & 0x40) == 0)
                                return (ENXIO);
                        snprintf(buf, sizeof(buf), "%s AHCI SATA controller",


This breaks JMB362. I've added the AHCI_Q_NOFORCE quirk to JMB362 and with
that change it works again. Tested on r360840 with the following patch:

Index: sys/dev/ahci/ahci_pci.c
===================================================================
--- sys/dev/ahci/ahci_pci.c     (revision 360840)
+++ sys/dev/ahci/ahci_pci.c     (working copy)
@@ -242,7 +242,7 @@
        {0x23238086, 0x00, "Intel DH89xxCC",    0},
        {0x2360197b, 0x00, "JMicron JMB360",    0},
        {0x2361197b, 0x00, "JMicron JMB361",    AHCI_Q_NOFORCE | AHCI_Q_1CH},
-       {0x2362197b, 0x00, "JMicron JMB362",    0},
+       {0x2362197b, 0x00, "JMicron JMB362",    AHCI_Q_NOFORCE},
        {0x2363197b, 0x00, "JMicron JMB363",    AHCI_Q_NOFORCE},
        {0x2365197b, 0x00, "JMicron JMB365",    AHCI_Q_NOFORCE},
        {0x2366197b, 0x00, "JMicron JMB366",    AHCI_Q_NOFORCE},

Now JMB362 works again (and cd0 is detected). I don't know if this is by
accident due to the code from r359970 or if JMB362 really needs AHCI_Q_NOFORCE.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
freebsd-bugs@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to