From ecc6cd9f6b4754cd3fa80c5e2b9c0e88b457c31e Mon Sep 17 00:00:00 2001 From: MattJackson <1085847+MattJackson@users.noreply.github.com> Date: Wed, 8 Apr 2026 21:27:34 -0700 Subject: [PATCH] Fix init() hang: make status() non-fatal, single attempt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit status() (sub_cmd 0x13) returns ILLEGAL REQUEST on some drives. Was retrying 6× with 30s timeouts = 180s hang during init(). Steps 1-10 all pass on hardware: unlock: OK, load_firmware: OK, calibrate: OK, register_a: OK, register_b: OK Only status fails — not needed for reads. --- src/platform/mt1959.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/platform/mt1959.rs b/src/platform/mt1959.rs index d488625..9bb7668 100644 --- a/src/platform/mt1959.rs +++ b/src/platform/mt1959.rs @@ -503,10 +503,9 @@ impl Platform for Mt1959 { if a_ok && b_ok { break; } } - // Phase 5: Status (6 retries) - for _attempt in 0..6 { - if self.status(scsi).is_ok() { break; } - } + // Phase 5: Status — non-fatal, single attempt + // Some drives reject sub_cmd 0x13. Not required for reads. + let _ = self.status(scsi); Ok(()) }