Tejun Heo wrote:
Hello,
Mark Lord wrote:
static int mv_prereset(struct ata_link *link, unsigned long deadline)
{
- mv_stop_edma(link->ap);
+ if (mv_stop_edma(link->ap))
+ link->eh_context.i.action |= ATA_EH_HARDRESET;
+ return ata_std_prereset(link, deadline);
+}
libata#upstream now defaults to hardreset. softreset is used only as
followup-SRST in case hardreset can't classify or PMP is supported, so
there's no reason to add reset promotion logic anymore.
..
Super. That completely eliminates mv_prereset, then.
+ /* FIXME:
+ * Except for the outer do-while construct below, this function
+ * is an exact clone of sata_std_hardreset() from libata-core.c.
+ *
+ * Once this driver is stable, we should re-org libata so we can
share
+ * more of that code, rather than duplicating so much of it here
+ * and in other drivers.
+ */
After modularize patchsets, sata_link_hardreset() does all the chores
needed around hardreset and sata_mv should be able to just build a loop
around it.
..
Oh, that stuff is in now? Good. I'll rework to use it.
Thanks again!
--
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