James, thank you for the corrections. I think I can fix all of these as
suggested and resubmit a new patch shortly.
>Another thing that strikes me is on the ARM side, it looks like this is
>effectively vectoring up to a user space target ... is that true? And
>if so, would the existing in-kernel target infrastructure be a better
>way of doing this?
No, there's no user space target. The target is special hardware. Or
more precisely, special communication hardware to send messages to
off-core hardware.
>> +static int imu_queuecommand(struct scsi_cmnd *scp,
>[...]
>> + if (!imu_scsi->connection_handle) {
>> + scp->result = (DID_RESET << 16) | (SUGGEST_RETRY << 24);
>> + done(scp);
>> + return SCSI_MLQUEUE_HOST_BUSY;
>> + }
>
>Absolutely wrong. Either you execute done() on the command and return
>zero, or you *don't* execute done on the command and return a queueing
>condition. Doing both will lead to double completions and really
>horrible things.
I'll return zero like the previous error condition, thanks.
> ...wrong...
Other corrections greatly appreciated and I'll roll into next patch.
--Greg
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html