O> > + ata_for_each_dev(adev, &ap->link, ENABLED) { > > + if (adev->class == ATA_DEV_ATAPI) > > + fifo = 0; > > + } > > > > Er, couldn't we do that dynamically, based on which device is > executing the command now? Possibly but PCI command cycles are expensive so you'd want to cache the state and stuff. Better to get it correct firstly. > > + if (pdev->device == PCI_DEVICE_ID_AMD_VIPER_7411) /* FIFO is broken */ > > + fifo = 0; > > + > > + /* On the later chips the read prefetch bits become no-op bits */ > > + pci_read_config_byte(pdev, 0x41, &r); > > + r &= ~fifobit[ap->port_no]; > > > > Why not: > > r &= ~fifo; Because then it wouldn't clear the bits if they were set already and we wanted them off! -- 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