ide: IDE_HFLAG_SERIALIZE_DMA bugfix
Patch re-ordering could be harmful:
commit 1fd1890594
Author: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Date: Sat Apr 26 22:25:24 2008 +0200
ide: add IDE_HFLAG_SERIALIZE_DMA host flag
...
is buggy because ->init_dma method / ide_hwif_setup_dma() is called
before IDE_HFLAG_SERIALIZE_DMA host flag is checked.
Fix it by checking IDE_HFLAG_SERIALIZE[_DMA] after DMA initialization.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
afa26be86b
commit
1024c5f4be
|
@ -1355,12 +1355,6 @@ static void ide_init_port(ide_hwif_t *hwif, unsigned int port,
|
|||
if (hwif->chipset != ide_dtc2278 || hwif->channel == 0)
|
||||
hwif->port_ops = d->port_ops;
|
||||
|
||||
if ((d->host_flags & IDE_HFLAG_SERIALIZE) ||
|
||||
((d->host_flags & IDE_HFLAG_SERIALIZE_DMA) && hwif->dma_base)) {
|
||||
if (hwif->mate)
|
||||
hwif->mate->serialized = hwif->serialized = 1;
|
||||
}
|
||||
|
||||
hwif->swdma_mask = d->swdma_mask;
|
||||
hwif->mwdma_mask = d->mwdma_mask;
|
||||
hwif->ultra_mask = d->udma_mask;
|
||||
|
@ -1382,6 +1376,12 @@ static void ide_init_port(ide_hwif_t *hwif, unsigned int port,
|
|||
hwif->dma_ops = d->dma_ops;
|
||||
}
|
||||
|
||||
if ((d->host_flags & IDE_HFLAG_SERIALIZE) ||
|
||||
((d->host_flags & IDE_HFLAG_SERIALIZE_DMA) && hwif->dma_base)) {
|
||||
if (hwif->mate)
|
||||
hwif->mate->serialized = hwif->serialized = 1;
|
||||
}
|
||||
|
||||
if (d->host_flags & IDE_HFLAG_RQSIZE_256)
|
||||
hwif->rqsize = 256;
|
||||
|
||||
|
|
Loading…
Reference in New Issue