siop: fix benchmark failures caused by premature command completion #52
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Remove the Command Complete (0x00) handler in the msgin phase that was
added in commit 85e755f. When Command Complete arrived via the msgin
dispatcher rather than through the normal status phase, the msg_complete
handler would signal A_ok without reading the status byte, leaving
acb->stat[0] uninitialized.
This caused data corruption with CF-to-SCSI adapters like RaizinMonster:
SysSpeed reported checksum errors during RawRead tests, and SysInfo
showed impossible transfer speeds (39 MB/sec).
Keep NOP message (0x08) handling which is harmless - just acknowledge
and continue.
Also replace cryptic err1-err11 identifiers with descriptive A_int_*
names in both SCRIPTS and host driver code, and disable disconnect
during device discovery for adapters that fail to reselect properly.