-
-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix BSY pin handling in initiator mode #1312
Conversation
Kudos, SonarCloud Quality Gate passed! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So you're saying that the BSY pin must be set for initiator mode and target mode alike, not just target mode?
@rdmark Yes, exactly. The initiator has to set BSY in particular for a proper arbitration/selection, but the original code did not configure the BSY pin as output pin when setting BSY in initiator mode. So BSY was affectively never set in initiator mode. The result was the target only seeing the initiator ID but not its own when there was arbitration before selection, which is what the SCSI standard requires. And when there is no target ID on the bus, no potential target will do anything. |
* In initiator mode configure BSY as an output pin when BSY is set
* In initiator mode configure BSY as an output pin when BSY is set
* In initiator mode configure BSY as an output pin when BSY is set
* In initiator mode configure BSY as an output pin when BSY is set
Just like #1284 this is another bug that must have always been there but has never been detected because usually initiator mode is not used. It's a pity, because I guess that none of the other SCSI solutions supports initiator mode.
Tested with the upcoming scsidump, which supports bus arbitration, which requires BSY to work.