summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Georgi <pgeorgi@google.com>2015-05-12 10:44:02 +0200
committerAaron Durbin <adurbin@chromium.org>2015-05-12 15:39:34 +0200
commit77466068916794b9aa5b100f296e44884c484c55 (patch)
treea77d83e37cace9e5253133399269ab5a91833fea
parentcc4d30924a150e6c7d25009a9a82199377c69b89 (diff)
libpayload: Fix passing BAR to EHCI driver
The EHCI driver never looked for the base address handed to it but instead used an uninitialized field for that information. Change-Id: I89fe0cc212092672b36e978083e3de78419b1eb5 Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: http://review.coreboot.org/10179 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org>
-rw-r--r--payloads/libpayload/drivers/usb/ehci.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/payloads/libpayload/drivers/usb/ehci.c b/payloads/libpayload/drivers/usb/ehci.c
index 578db37a90..bda415ff63 100644
--- a/payloads/libpayload/drivers/usb/ehci.c
+++ b/payloads/libpayload/drivers/usb/ehci.c
@@ -816,8 +816,8 @@ ehci_init (unsigned long physical_bar)
controller->poll_intr_queue = ehci_poll_intr_queue;
init_device_entry (controller, 0);
- EHCI_INST(controller)->capabilities = phys_to_virt(controller->reg_base);
- EHCI_INST(controller)->operation = (hc_op_t *)(phys_to_virt(controller->reg_base) + EHCI_INST(controller)->capabilities->caplength);
+ EHCI_INST(controller)->capabilities = phys_to_virt(physical_bar);
+ EHCI_INST(controller)->operation = (hc_op_t *)(phys_to_virt(physical_bar) + EHCI_INST(controller)->capabilities->caplength);
/* Set the high address word (aka segment) if controller is 64-bit */
if (EHCI_INST(controller)->capabilities->hccparams & 1)