grub2/0220-Slight-improve-in-USB-related-boot-time-checkpoints.patch
Peter Jones f74b50e380 Rebase to upstream, fix a pile of bugs. The usual.
Signed-off-by: Peter Jones <pjones@redhat.com>
2013-06-12 15:37:08 -04:00

81 lines
2.8 KiB
Diff

From 171c7ed5ddba903d30c342c09013decfbe18c992 Mon Sep 17 00:00:00 2001
From: Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Date: Wed, 20 Mar 2013 17:21:13 +0100
Subject: [PATCH 220/482] Slight improve in USB-related boot-time
checkpoints.
---
ChangeLog | 4 ++++
grub-core/bus/usb/ehci.c | 3 ++-
grub-core/bus/usb/usbhub.c | 6 +++---
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 69c764b..5e6369c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
+ Slight improve in USB-related boot-time checkpoints.
+
+2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
+
* grub-core/commands/boottime.c: Fix copyright header.
2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
diff --git a/grub-core/bus/usb/ehci.c b/grub-core/bus/usb/ehci.c
index a5a24af..e902fcd 100644
--- a/grub-core/bus/usb/ehci.c
+++ b/grub-core/bus/usb/ehci.c
@@ -1699,6 +1699,8 @@ grub_ehci_portstatus (grub_usb_controller_t dev,
grub_dprintf ("ehci", "portstatus: enable\n");
+ grub_boot_time ("Resetting port %d", port);
+
/* Now we will do reset - if HIGH speed device connected, it will
* result in Enabled state, otherwise port remains disabled. */
/* Set RESET bit for 50ms */
@@ -1708,7 +1710,6 @@ grub_ehci_portstatus (grub_usb_controller_t dev,
/* Reset RESET bit and wait for the end of reset */
grub_ehci_port_resbits (e, port, GRUB_EHCI_PORT_RESET);
endtime = grub_get_time_ms () + 1000;
- grub_boot_time ("Resetting port %d", port);
while (grub_ehci_port_read (e, port) & GRUB_EHCI_PORT_RESET)
if (grub_get_time_ms () > endtime)
return grub_error (GRUB_ERR_IO,
diff --git a/grub-core/bus/usb/usbhub.c b/grub-core/bus/usb/usbhub.c
index fd7b94e..6fc9d02 100644
--- a/grub-core/bus/usb/usbhub.c
+++ b/grub-core/bus/usb/usbhub.c
@@ -452,7 +452,7 @@ wait_power_nonroot_hub (grub_usb_device_t dev)
GRUB_USB_HUB_FEATURE_PORT_RESET,
i, 0, 0);
dev->ports[i - 1].state = PORT_STATE_NORMAL;
- grub_boot_time ("Resetting port %d", i);
+ grub_boot_time ("Resetting port %p:%d", dev, i - 1);
rescan = 1;
/* We cannot reset more than one device at the same time !
@@ -573,6 +573,8 @@ poll_nonroot_hub (grub_usb_device_t dev)
dev->ports[i - 1].soft_limit_time = grub_get_time_ms () + 250;
dev->ports[i - 1].hard_limit_time = dev->ports[i - 1].soft_limit_time + 1750;
dev->ports[i - 1].state = PORT_STATE_WAITING_FOR_STABLE_POWER;
+ grub_boot_time ("Scheduling stable power wait for port %p:%d",
+ dev, i - 1);
continue;
}
}
@@ -664,8 +666,6 @@ grub_usb_poll_devices (int wait_for_completion)
}
}
- grub_boot_time ("Probing USB device driver");
-
while (1)
{
rescan = 0;
--
1.8.2.1