bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Recognize DVD drive during boot


From: Andrea Monaco
Subject: Re: [PATCH] Recognize DVD drive during boot
Date: Sun, 12 Sep 2021 21:00:07 +0200


diff --git a/linux/dev/drivers/block/ahci.c b/linux/dev/drivers/block/ahci.c
index b8fd9dae..0fd8d795 100644
--- a/linux/dev/drivers/block/ahci.c
+++ b/linux/dev/drivers/block/ahci.c
@@ -645,7 +645,7 @@ static int ahci_identify(const volatile struct ahci_host 
*ahci_host, const volat
        add_timer(&identify_timer);
        while (!port->status) {
                if (jiffies >= timeout) {
-                       printk("sd%u: timeout waiting for ready\n", port-ports);
+                       printk("sd%u: timeout waiting for identify\n", 
port-ports);
                        port->ahci_host = NULL;
                        port->ahci_port = NULL;
                        del_timer(&identify_timer);
@@ -815,9 +815,10 @@ static void ahci_probe_port(const volatile struct 
ahci_host *ahci_host, const vo
 
        writel(readl(&ahci_port->cmd) | PORT_CMD_FIS_RX | PORT_CMD_START, 
&ahci_port->cmd);
 
-       if (ahci_identify(ahci_host, ahci_port, port, WIN_IDENTIFY) >= 2)
-               /* Try ATAPI */
-               ahci_identify(ahci_host, ahci_port, port, WIN_PIDENTIFY);
+       /* if PxCMD.ATAPI is set, try ATAPI identify; otherwise try AHCI, then 
ATAPI */
+       if (readl(&ahci_port->cmd) & PORT_CMD_ATAPI ||
+              ahci_identify(ahci_host, ahci_port, port, WIN_IDENTIFY) >= 2)
+                ahci_identify(ahci_host, ahci_port, port, WIN_PIDENTIFY);
 }
 
 /* Probe one AHCI PCI device */



reply via email to

[Prev in Thread] Current Thread [Next in Thread]