Hello, Shaohua. Shaohua Li wrote: > + if (!(dev->horkage & ATA_HORKAGE_FPDMA_AA) && > + (ap->flags & ATA_FLAG_FPDMA_AA) && > + ata_id_has_fpdma_aa(dev->id)) { > + err_mask = ata_dev_set_feature(dev, SETFEATURES_SATA_ENABLE, > + SATA_FPDMA_AA); > + if (err_mask) { > + ata_dev_printk(dev, KERN_ERR, "failed to enable AA" > + "(error_mask=0x%x)\n", err_mask); > + if (err_mask != AC_ERR_DEV) > + dev->horkage |= ATA_HORKAGE_FPDMA_AA; > + return -EIO; You can continue if err_mask equals AC_ERR_DEV. Also, the horkage should probably named like ATA_HORKAGE_BROKEN_FPDMA_AA. Thanks. -- tejun -- 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