platform_drv: disable PCI DMA class specific
for such classes where it should be safe and where we have seen issues. Disabling in general bus master DMA causes on some machines hard hangs, e.g. because the USB handover protocol was violated. Fixes #2835
This commit is contained in:
committed by
Christian Helmuth
parent
b8411ae1b8
commit
5ca30b0318
@@ -242,13 +242,7 @@ void adjust_pci_device ( struct pci_device *pci ) {
|
||||
|
||||
pci_read_config_word(pci, PCI_COMMAND, &pci_command);
|
||||
new_command = pci_command | PCI_COMMAND_MASTER | PCI_COMMAND_MEM | PCI_COMMAND_IO;
|
||||
if (pci_command != new_command) {
|
||||
LOG("PCI BIOS has not enabled device " FMT_BUSDEVFN "! "
|
||||
"Updating PCI command %04x->%04x\n", PCI_BUS(pci->busdevfn),
|
||||
PCI_SLOT(pci->busdevfn), PCI_FUNC (pci->busdevfn),
|
||||
pci_command, new_command);
|
||||
pci_write_config_word(pci, PCI_COMMAND, new_command);
|
||||
}
|
||||
pci_write_config_word(pci, PCI_COMMAND, new_command);
|
||||
|
||||
unsigned char pci_latency;
|
||||
pci_read_config_byte ( pci, PCI_LATENCY_TIMER, &pci_latency);
|
||||
|
||||
Reference in New Issue
Block a user