diff options
author | Patrick Georgi <pgeorgi@google.com> | 2015-05-12 10:44:02 +0200 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2015-05-12 15:39:34 +0200 |
commit | 77466068916794b9aa5b100f296e44884c484c55 (patch) | |
tree | a77d83e37cace9e5253133399269ab5a91833fea /payloads/libpayload/drivers/usb | |
parent | cc4d30924a150e6c7d25009a9a82199377c69b89 (diff) | |
download | coreboot-77466068916794b9aa5b100f296e44884c484c55.tar.xz |
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>
Diffstat (limited to 'payloads/libpayload/drivers/usb')
-rw-r--r-- | payloads/libpayload/drivers/usb/ehci.c | 4 |
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) |