firewire: ohci: fix DMA unmapping in an error path
If request_irq failed, we would pass wrong arguments to dma_free_coherent. https://bugzilla.redhat.com/show_bug.cgi?id=728185 Reported-by: Mads Kiilerich Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
This commit is contained in:
parent
9c1176b6a2
commit
a01e836087
1 changed files with 7 additions and 2 deletions
|
@ -2178,8 +2178,13 @@ static int ohci_enable(struct fw_card *card,
|
||||||
ohci_driver_name, ohci)) {
|
ohci_driver_name, ohci)) {
|
||||||
fw_error("Failed to allocate interrupt %d.\n", dev->irq);
|
fw_error("Failed to allocate interrupt %d.\n", dev->irq);
|
||||||
pci_disable_msi(dev);
|
pci_disable_msi(dev);
|
||||||
dma_free_coherent(ohci->card.device, CONFIG_ROM_SIZE,
|
|
||||||
ohci->config_rom, ohci->config_rom_bus);
|
if (config_rom) {
|
||||||
|
dma_free_coherent(ohci->card.device, CONFIG_ROM_SIZE,
|
||||||
|
ohci->next_config_rom,
|
||||||
|
ohci->next_config_rom_bus);
|
||||||
|
ohci->next_config_rom = NULL;
|
||||||
|
}
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue