Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dc844e05 authored by Sergei Shtylylov's avatar Sergei Shtylylov Committed by Linus Torvalds
Browse files

[PATCH] IDE: always release DMA engine



Release the DMA engine for the custom mapping IDE drivers also (for
example, siimage.c does allocate it in both I/O-mapped and custom-mapped
modes).  Remove useless code from the error path of
ide_allocate_dma_engine().

Signed-off-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 020e322d
Loading
Loading
Loading
Loading
+7 −9
Original line number Diff line number Diff line
@@ -811,12 +811,11 @@ static int ide_release_iomio_dma(ide_hwif_t *hwif)
 */
int ide_release_dma(ide_hwif_t *hwif)
{
	ide_release_dma_engine(hwif);

	if (hwif->mmio == 2)
		return 1;
	if (hwif->chipset == ide_etrax100)
		return 1;

	ide_release_dma_engine(hwif);
	else
		return ide_release_iomio_dma(hwif);
}

@@ -829,10 +828,9 @@ static int ide_allocate_dma_engine(ide_hwif_t *hwif)
	if (hwif->dmatable_cpu)
		return 0;

	printk(KERN_ERR "%s: -- Error, unable to allocate%s DMA table(s).\n",
			hwif->cds->name, !hwif->dmatable_cpu ? " CPU" : "");
	printk(KERN_ERR "%s: -- Error, unable to allocate DMA table.\n",
	       hwif->cds->name);

	ide_release_dma_engine(hwif);
	return 1;
}