Move all the logic for where to start the probing state machine into
ada_repobe and use it everywhere we probe or reprobe the device.
Sponsored by: Netflix
Differential D35040
ada: create ada_reprobe for common probe starting logic imp on Apr 24 2022, 2:33 AM. Authored by Tags None Referenced Files
Subscribers None
Details
Diff Detail
Event TimelineComment Actions While I see no problem with this patch, I am not sure it is not an obfuscation. The same checks are done (or should be done) at every probe stage. The check seems to be missing on transition from ADA_CCB_RAHEAD to ADA_STATE_WCACHE. I think "goto skipstate" logic of dastart() could be more universal. Comment Actions That's good feedback, actually. I'm trying to reduce the code duplications here... I'm poking around here because we have a race that somehow related to restarting this probe when a device 'stutters' in the system (eg, we get a lot of AHCI bus resets). The race leads to us tearing down the periph with a CCB in the hardware for the device. I'm still exploring that race (we see it 2-3 times a week in our fleet of many thousands of machines with AHCI attached drives). Any check I'd want to put here would also be relevant to for the state transitions... I'll take a look at skipstate, since that might accomplish my goals in a different way. |