On 2021/11/04 23:28, Brian Buhrow wrote:
Hello. Without going and reading the probe routines, I wonder if we can create some sort of hybrid approach? Specifically, probe with the shorter delays, then, if we get a timeout, reset and probe with the longer delays? That wil cause hardware that doesn't exhibit the behavior to work with the faster probes, while slowing the non-working hardware, slightly during boot, while it's probed twice. Again, I'm not sure how dificult it is to introduce that logic, but it's a similar logic we used to determine if old PATA drives needed specific ATA commands to address blocks over 148GB, or something like that. (We'd try the command with the standard command and, if it failed, then try it with the altered command and set a quirk.)
I'm not sure whether this is possible. The failure should be related to ahci_probe_drive(), but the error itself occurs afterward in wdattach(). I wonder whether we can start it over with extra delays from when wdattach() fails. If possible, this needs modifications for MI ata(4) layer. If the affected HWs are limited, it should be cleaner to add a quirk to work around them. Thanks, rin