On Sun, Sep 30 2007 at 22:17 +0200, Boaz Harrosh <[EMAIL PROTECTED]> wrote:
> gdth_execute() will issue an internal, none scsi-standard commands
> onto __gdth_queuecommand(). Since it is not recommended to set
> struct scsi_cmnd IO members in llds, gdth now uses internal IO
> members for IO. In the case of gdth_execute() these members will be
> set properly. In case the command was issued from scsi-ml
> (by gdth_queuecommand) they will be set from scsi IO accessors.
>
> * define gdth IO accessors and use them throughout the driver.
> * use an sg-of-one in gdth_execute() and fix gdth_special_cmd()
> accordingly.
> * Clean the not use_sg code path and company
>
> Signed-off-by Boaz Harrosh <[EMAIL PROTECTED]>
OK My usual bug in this one. I woke up in the middle
of the night with this in my head.
diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
--- a/drivers/scsi/gdth.c
+++ b/drivers/scsi/gdth.c
@@ -517,4 +517,5 @@ int __gdth_execute(struct scsi_device *sdev, gdth_cmd_str
*gdtcmd, char *cmnd,
sg_init_one(&one_sg, gdtcmd, sizeof(*gdtcmd));
gdth_set_sglist(scp, &one_sg);
+ gdth_set_sg_count(scp, 1);
gdth_set_bufflen(scp, sizeof(*gdtcmd));
scp->cmd_len = 12;
I will resend the patch as reply to this one
Boaz
-
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