diff options
Diffstat (limited to 'drivers/firewire/ohci.c')
-rw-r--r-- | drivers/firewire/ohci.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/firewire/ohci.c b/drivers/firewire/ohci.c index bcf792fac442..fd7170a9ad2c 100644 --- a/drivers/firewire/ohci.c +++ b/drivers/firewire/ohci.c | |||
@@ -290,6 +290,9 @@ static const struct { | |||
290 | {PCI_VENDOR_ID_NEC, PCI_ANY_ID, PCI_ANY_ID, | 290 | {PCI_VENDOR_ID_NEC, PCI_ANY_ID, PCI_ANY_ID, |
291 | QUIRK_CYCLE_TIMER}, | 291 | QUIRK_CYCLE_TIMER}, |
292 | 292 | ||
293 | {PCI_VENDOR_ID_O2, PCI_ANY_ID, PCI_ANY_ID, | ||
294 | QUIRK_NO_MSI}, | ||
295 | |||
293 | {PCI_VENDOR_ID_RICOH, PCI_ANY_ID, PCI_ANY_ID, | 296 | {PCI_VENDOR_ID_RICOH, PCI_ANY_ID, PCI_ANY_ID, |
294 | QUIRK_CYCLE_TIMER}, | 297 | QUIRK_CYCLE_TIMER}, |
295 | 298 | ||
@@ -2179,8 +2182,13 @@ static int ohci_enable(struct fw_card *card, | |||
2179 | ohci_driver_name, ohci)) { | 2182 | ohci_driver_name, ohci)) { |
2180 | fw_error("Failed to allocate interrupt %d.\n", dev->irq); | 2183 | fw_error("Failed to allocate interrupt %d.\n", dev->irq); |
2181 | pci_disable_msi(dev); | 2184 | pci_disable_msi(dev); |
2182 | dma_free_coherent(ohci->card.device, CONFIG_ROM_SIZE, | 2185 | |
2183 | ohci->config_rom, ohci->config_rom_bus); | 2186 | if (config_rom) { |
2187 | dma_free_coherent(ohci->card.device, CONFIG_ROM_SIZE, | ||
2188 | ohci->next_config_rom, | ||
2189 | ohci->next_config_rom_bus); | ||
2190 | ohci->next_config_rom = NULL; | ||
2191 | } | ||
2184 | return -EIO; | 2192 | return -EIO; |
2185 | } | 2193 | } |
2186 | 2194 | ||