Messages in this thread Patch in this message | | | Date | Thu, 11 Aug 2011 20:40:42 +0200 | From | Stefan Richter <> | Subject | [PATCH] 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> --- drivers/firewire/ohci.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
Index: b/drivers/firewire/ohci.c =================================================================== --- a/drivers/firewire/ohci.c +++ b/drivers/firewire/ohci.c @@ -2181,8 +2181,13 @@ static int ohci_enable(struct fw_card *c ohci_driver_name, ohci)) { fw_error("Failed to allocate interrupt %d.\n", dev->irq); 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; }
-- Stefan Richter -=====-==-== =--- -=-== http://arcgraph.de/sr/
| |