Pass proper expected length for INQUIRY command

git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@294 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Stanislaw Gruszka
2008-02-19 12:02:14 +00:00
parent 6ac8e0cb62
commit 32e45721e3

View File

@@ -374,6 +374,7 @@ tasklet_rx_cmds(unsigned long data)
tmd_xact_t *xact;
struct scst_cmd *scst_cmd;
scst_data_direction dir;
int len;
rx_loop:
spin_lock_irq(&bp->tmds_lock);
@@ -441,8 +442,12 @@ rx_loop:
dir = SCST_DATA_WRITE;
} else if (tmd->cd_flags & CDF_DATA_IN) {
dir = SCST_DATA_READ;
}
len = tmd->cd_totlen;
if (tmd->cd_cdb[0] == INQUIRY) {
len = min(len, tmd->cd_cdb[4]);
}
scst_cmd_set_expected(scst_cmd, dir, tmd->cd_totlen);
scst_cmd_set_expected(scst_cmd, dir, len);
scst_cmd_init_done(scst_cmd, SCST_CONTEXT_TASKLET);
spin_unlock_irq(&bp->tmds_lock);