From: Michael Brown Date: Fri, 12 Dec 2008 19:15:00 +0000 (+0000) Subject: [pci] Enable memory cycles in adjust_pci_device() X-Git-Tag: v0.9.7~94 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1941c933f8c80a39efd93a0da2a5a44ad0593970;p=thirdparty%2Fipxe.git [pci] Enable memory cycles in adjust_pci_device() adjust_pci_device() has historically enabled bus-mastering and I/O cycles, but has never previously needed to enable memory cycles. Some EFI systems seem not to enable memory cycles by default, so add that to the list of PCI command register bits that we force on. --- diff --git a/src/drivers/bus/pci.c b/src/drivers/bus/pci.c index 54d1136fa..2dc9d43a8 100644 --- a/src/drivers/bus/pci.c +++ b/src/drivers/bus/pci.c @@ -148,7 +148,8 @@ void adjust_pci_device ( struct pci_device *pci ) { unsigned char pci_latency; pci_read_config_word ( pci, PCI_COMMAND, &pci_command ); - new_command = pci_command | PCI_COMMAND_MASTER | PCI_COMMAND_IO; + new_command = ( pci_command | PCI_COMMAND_MASTER | + PCI_COMMAND_MEM | PCI_COMMAND_IO ); if ( pci_command != new_command ) { DBG ( "PCI BIOS has not enabled device %02x:%02x.%x! " "Updating PCI command %04x->%04x\n", pci->bus,