> And as xfermask stripped out DMA bits, host->simplex_claimed > is always NULL with current implementation. > > By allowing DMA either if simplex_claimed is NULL or if it > points to current port DMA can be finally used - it gets > assigned to first port which contains any DMA capable > device. Doh, sorry I should have caught that when testing. > Signed-off-by: Petr Vandrovec <petr@xxxxxxxxxxxxxx> Acked-by: Alan Cox <alan@xxxxxxxxxx> > > diff -uprdN linux/drivers/ata/libata-core.c linux/drivers/ata/libata-core.c > --- linux/drivers/ata/libata-core.c 2007-03-07 22:13:24.000000000 -0800 > +++ linux/drivers/ata/libata-core.c 2007-03-08 00:15:37.000000000 -0800 > @@ -3455,7 +3455,8 @@ static void ata_dev_xfermask(struct ata_ > "device is on DMA blacklist, disabling DMA\n"); > } > > - if ((host->flags & ATA_HOST_SIMPLEX) && host->simplex_claimed != ap) { > + if ((host->flags & ATA_HOST_SIMPLEX) && > + host->simplex_claimed && host->simplex_claimed != ap) { > xfer_mask &= ~(ATA_MASK_MWDMA | ATA_MASK_UDMA); > ata_dev_printk(dev, KERN_WARNING, "simplex DMA is claimed by " > "other device, disabling DMA\n"); > - > To unsubscribe from this list: send the line "unsubscribe linux-ide" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- -- Sick of rip off UK rail fares ? Learn how to get far cheaper fares http://zeniv.linux.org.uk/~alan/GTR/ - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html