[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: Sergei 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: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
020e322de3
commit
dc844e0591
@ -809,15 +809,14 @@ static int ide_release_iomio_dma(ide_hwif_t *hwif)
|
|||||||
/*
|
/*
|
||||||
* Needed for allowing full modular support of ide-driver
|
* Needed for allowing full modular support of ide-driver
|
||||||
*/
|
*/
|
||||||
int ide_release_dma (ide_hwif_t *hwif)
|
int ide_release_dma(ide_hwif_t *hwif)
|
||||||
{
|
{
|
||||||
|
ide_release_dma_engine(hwif);
|
||||||
|
|
||||||
if (hwif->mmio == 2)
|
if (hwif->mmio == 2)
|
||||||
return 1;
|
return 1;
|
||||||
if (hwif->chipset == ide_etrax100)
|
else
|
||||||
return 1;
|
return ide_release_iomio_dma(hwif);
|
||||||
|
|
||||||
ide_release_dma_engine(hwif);
|
|
||||||
return ide_release_iomio_dma(hwif);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ide_allocate_dma_engine(ide_hwif_t *hwif)
|
static int ide_allocate_dma_engine(ide_hwif_t *hwif)
|
||||||
@ -829,10 +828,9 @@ static int ide_allocate_dma_engine(ide_hwif_t *hwif)
|
|||||||
if (hwif->dmatable_cpu)
|
if (hwif->dmatable_cpu)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
printk(KERN_ERR "%s: -- Error, unable to allocate%s DMA table(s).\n",
|
printk(KERN_ERR "%s: -- Error, unable to allocate DMA table.\n",
|
||||||
hwif->cds->name, !hwif->dmatable_cpu ? " CPU" : "");
|
hwif->cds->name);
|
||||||
|
|
||||||
ide_release_dma_engine(hwif);
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user