/* Ensure that we do not do DMA on CD devices. We may be able to fix that later on. Also ensure we do not do UDMA on WDC drives  */
static unsigned long ali_20_filter(struct ata_device *adev, unsigned long mask)
/* Ensure that we do not do DMA on CD devices. We may be able to fix that later on. Also ensure we do not do UDMA on WDC drives  */
static unsigned long ali_20_filter(struct ata_device *adev, unsigned long mask)
{
	char model_num[ATA_ID_PROD_LEN + 1];
	if (adev->class != ATA_DEV_ATA)
		mask &= ~(ATA_MASK_MWDMA | ATA_MASK_UDMA);
	ata_id_c_string(adev->id, model_num, ATA_ID_PROD, sizeof(model_num));
	if (strstr(model_num, "WDC"))
		return mask &= ~ATA_MASK_UDMA;
	return ata_bmdma_mode_filter(adev, mask);
}