]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
USB EHCI: SMI disabled in all cases
authorstarous@volny.cz <>
Mon, 23 Sep 2013 18:30:52 +0000 (20:30 +0200)
committerstarous@volny.cz <>
Mon, 23 Sep 2013 18:30:52 +0000 (20:30 +0200)
ChangeLog
grub-core/bus/usb/ehci.c

index 2a81be00b97cff5a4aaf962be7c40a5f50cdd345..9181ee2b7ab5f4cbe940717f4cd1b6e99c8527eb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-09-23  Aleš Nesrsta  <starous@volny.cz>
+
+       * grub-core/bus/usb/ehci.c: SMI disabled in all cases
+
 2013-09-23  Massimo Maggi <me@massimo-maggi.eu>
 
        * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
 
 2013-09-21  Ales Nesrsta <starous@volny.cz>
 
-       * grub-core/bus/usb/ehci.c: Correceted EHCI QH handling (async./sync.)
+       * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
 
 2013-09-20  Vladimir Serbinenko  <phcoder@gmail.com>
 
index d1f8c1165d6b3019dc54d42c27ef0a190e443cbc..5b482fd1b52d1d54c696b2a27062a6e777834c1f 100644 (file)
@@ -716,7 +716,7 @@ grub_ehci_pci_iter (grub_pci_device_t dev, grub_pci_id_t pciid,
       usblegsup = grub_pci_read (pciaddr_eecp);
       if (usblegsup & GRUB_EHCI_BIOS_OWNED)
        {
-         grub_boot_time ("Taking ownership of EHCI port");
+         grub_boot_time ("Taking ownership of EHCI controller");
          grub_dprintf ("ehci",
                        "EHCI grub_ehci_pci_iter: EHCI owned by: BIOS\n");
          /* Ownership change - set OS_OWNED bit */
@@ -737,13 +737,7 @@ grub_ehci_pci_iter (grub_pci_device_t dev, grub_pci_id_t pciid,
              grub_pci_write (pciaddr_eecp, GRUB_EHCI_OS_OWNED);
              /* Ensure PCI register is written */
              grub_pci_read (pciaddr_eecp);
-             /* Disable SMI.  */
-             pciaddr_eecp = grub_pci_make_address (dev, eecp_offset + 4);
-             grub_pci_write (pciaddr_eecp, 0);
-             /* Ensure PCI register is written */
-             grub_pci_read (pciaddr_eecp);
            }
-         grub_boot_time ("Ownership of EHCI port taken");
        }
       else if (usblegsup & GRUB_EHCI_OS_OWNED)
        /* XXX: What to do in this case - nothing ? Can it happen ? */
@@ -758,12 +752,14 @@ grub_ehci_pci_iter (grub_pci_device_t dev, grub_pci_id_t pciid,
          grub_pci_write (pciaddr_eecp, GRUB_EHCI_OS_OWNED);
          /* Ensure PCI register is written */
          grub_pci_read (pciaddr_eecp);
-         /* Disable SMI, just to be sure.  */
-         pciaddr_eecp = grub_pci_make_address (dev, eecp_offset + 4);
-         grub_pci_write (pciaddr_eecp, 0);
-         /* Ensure PCI register is written */
-         grub_pci_read (pciaddr_eecp);
        }
+
+    /* Disable SMI, just to be sure.  */
+    pciaddr_eecp = grub_pci_make_address (dev, eecp_offset + 4);
+    grub_pci_write (pciaddr_eecp, 0);
+    /* Ensure PCI register is written */
+    grub_pci_read (pciaddr_eecp);
+
     }
 
   grub_dprintf ("ehci", "inithw: EHCI grub_ehci_pci_iter: ownership OK\n");