On 01/10/2018 06:25 AM, Tejun Heo wrote: > Hello, > > On Tue, Jan 09, 2018 at 03:04:55PM -0800, Florian Fainelli wrote: >> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c >> index 3c09122bf038..921c2813af07 100644 >> --- a/drivers/ata/libata-core.c >> +++ b/drivers/ata/libata-core.c >> @@ -2045,6 +2045,8 @@ int ata_dev_read_id(struct ata_device *dev, unsigned int *p_class, >> if (ata_msg_warn(ap)) >> ata_dev_warn(dev, "failed to IDENTIFY (%s, err_mask=0x%x)\n", >> reason, err_mask); >> + if (ap->host->ops->port_recovery) >> + ap->host->ops->port_recovery(ap); >> return rc; >> } > > This is a really weird spot to add a callback named port_recovery(). > Can't the affected driver simply implement its own > ata_port_operations->read_id() operation which does the recovery if > necessary? I did not consider that, but this is actually a great idea, thanks for the suggestion! I will respin with that being done. -- Florian -- 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