diff --git a/ChangeLog b/ChangeLog index 2a81be00b..9181ee2b7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2013-09-23 Aleš Nesrsta + + * grub-core/bus/usb/ehci.c: SMI disabled in all cases + 2013-09-23 Massimo Maggi * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist. @@ -146,7 +150,7 @@ 2013-09-21 Ales Nesrsta - * 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 diff --git a/grub-core/bus/usb/ehci.c b/grub-core/bus/usb/ehci.c index d1f8c1165..5b482fd1b 100644 --- a/grub-core/bus/usb/ehci.c +++ b/grub-core/bus/usb/ehci.c @@ -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");