Uwe Bonnes wrote:
> David Elliott writes:
> ...
> > Actually, that looks wrong since as I said before, no program should check it
> > anyway, and the spec says it always returns SS_PENDING.
> >
>
> Hallo David,
>
> obviuosly we have different specs:
> MSDN Library July 1995 says in Windows 95 DDK "Get Device Type Comand"
>
Sorry, you are correct in this case. The Get Device Type command should
definitely NOT be queued and should always return SS_COMP/SS_INVALID_SRB/etc, but
never SS_PENDING.
For the SRB_EXEC_SCSI_CMD case, you should always return SS_PENDING, but never
anything else.
>
> > Table 4-5. Return Values from Get Device Type Command
> >
> > Value Meaning
> > SS_COMP SCSI/ASPI request has completed without error.
> > SS_INVALID_HA Invalid host adapter number.
> > SS_NO_DEVICE SCSI device not installed.
>
> So my prposed fix for WNASPI32_DoPosting is probably wrong and as in
> my first patch we should probably set an appropriate retun value in
> SendASPI32Command:SC_GET_DEV_TYPE.
>
I think the correct fix would be in the SRB_GET_DEVICE_TYPE case to use the value
placed into the SRB_Status field instead of checking the return value. I must
have overlooked that when I modified the ExecScsiCmd function to always return
SS_PENDING (which is correct for the EXEC_SCSI_CMD case which it is supposed to be
implementing).
>
> Bye
>
> Uwe Bonnes [EMAIL PROTECTED]
>
> Free Software: If you contribute nothing, expect nothing
> --
-Dave