[PATCH] scst_local: Fix bidirectional command support

scsi_setup_cmnd() sets sc_data_direction to DMA_TO_DEVICE for bidirectional
commands. Hence test SCpnt->request->next_rq instead of sc_data_direction
to figure out whether or not a command is bidirectional.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5984 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Vladislav Bolkhovitin
2015-01-22 05:03:17 +00:00
parent 3bb41e9eca
commit ca87894980

View File

@@ -1069,7 +1069,8 @@ static int scst_local_queuecommand_lck(struct scsi_cmnd *SCpnt,
#endif
dir = SCST_DATA_NONE;
switch (SCpnt->sc_data_direction) {
switch (SCpnt->request->next_rq ? DMA_BIDIRECTIONAL :
SCpnt->sc_data_direction) {
case DMA_TO_DEVICE:
dir = SCST_DATA_WRITE;
scst_cmd_set_expected(scst_cmd, dir, scsi_bufflen(SCpnt));