summaryrefslogtreecommitdiffstats
path: root/payloads
diff options
context:
space:
mode:
authorElyes HAOUAS <ehaouas@noos.fr>2020-04-27 05:34:05 +0200
committerPatrick Georgi <pgeorgi@google.com>2020-05-01 06:26:38 +0000
commit52e56e84796d8b4def9341f2302b355f059added (patch)
tree63262786517f583ec4292753900b7551cd32b7e2 /payloads
parent804a34022cbd020e1b1f461ee3a45a68f14684f0 (diff)
downloadcoreboot-52e56e84796d8b4def9341f2302b355f059added.tar.gz
coreboot-52e56e84796d8b4def9341f2302b355f059added.tar.bz2
coreboot-52e56e84796d8b4def9341f2302b355f059added.zip
libpayload: Fix 16-bit read/write to PCI_COMMAND register
Change-Id: I34facbe0cbbdc91066799b586d96abca1599c509 Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr> Reviewed-on: https://review.coreboot.org/c/coreboot/+/40743 Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Nico Huber <nico.h@gmx.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'payloads')
-rw-r--r--payloads/libpayload/drivers/usb/ehci.c4
-rw-r--r--payloads/libpayload/drivers/usb/usbinit.c6
2 files changed, 5 insertions, 5 deletions
diff --git a/payloads/libpayload/drivers/usb/ehci.c b/payloads/libpayload/drivers/usb/ehci.c
index bf8a5eaa8168..7969febce9e3 100644
--- a/payloads/libpayload/drivers/usb/ehci.c
+++ b/payloads/libpayload/drivers/usb/ehci.c
@@ -860,9 +860,9 @@ ehci_pci_init (pcidev_t addr)
hci_t *controller;
u32 reg_base;
- u32 pci_command = pci_read_config32(addr, PCI_COMMAND);
+ u16 pci_command = pci_read_config16(addr, PCI_COMMAND);
pci_command = (pci_command | PCI_COMMAND_MEMORY) & ~PCI_COMMAND_IO ;
- pci_write_config32(addr, PCI_COMMAND, pci_command);
+ pci_write_config16(addr, PCI_COMMAND, pci_command);
reg_base = pci_read_config32 (addr, USBBASE);
diff --git a/payloads/libpayload/drivers/usb/usbinit.c b/payloads/libpayload/drivers/usb/usbinit.c
index 0ac27e4456da..49634c6c06d5 100644
--- a/payloads/libpayload/drivers/usb/usbinit.c
+++ b/payloads/libpayload/drivers/usb/usbinit.c
@@ -62,11 +62,11 @@ static int usb_controller_initialize(int bus, int dev, int func)
/* enable busmaster */
if (devclass == 0xc03) {
- u32 pci_command;
+ u16 pci_command;
- pci_command = pci_read_config32(pci_device, PCI_COMMAND);
+ pci_command = pci_read_config16(pci_device, PCI_COMMAND);
pci_command |= PCI_COMMAND_MASTER;
- pci_write_config32(pci_device, PCI_COMMAND, pci_command);
+ pci_write_config16(pci_device, PCI_COMMAND, pci_command);
usb_debug("%02x:%02x.%x %04x:%04x.%d ", bus, dev, func,
pciid >> 16, pciid & 0xFFFF, func);