|
@@ -76,8 +76,8 @@ static void sas_scsi_task_done(struct sas_task *task)
|
|
|
hs = DID_NO_CONNECT;
|
|
|
break;
|
|
|
case SAS_DATA_UNDERRUN:
|
|
|
- sc->resid = ts->residual;
|
|
|
- if (sc->request_bufflen - sc->resid < sc->underflow)
|
|
|
+ scsi_set_resid(sc, ts->residual);
|
|
|
+ if (scsi_bufflen(sc) - scsi_get_resid(sc) < sc->underflow)
|
|
|
hs = DID_ERROR;
|
|
|
break;
|
|
|
case SAS_DATA_OVERRUN:
|
|
@@ -161,9 +161,9 @@ static struct sas_task *sas_create_task(struct scsi_cmnd *cmd,
|
|
|
task->ssp_task.task_attr = sas_scsi_get_task_attr(cmd);
|
|
|
memcpy(task->ssp_task.cdb, cmd->cmnd, 16);
|
|
|
|
|
|
- task->scatter = cmd->request_buffer;
|
|
|
- task->num_scatter = cmd->use_sg;
|
|
|
- task->total_xfer_len = cmd->request_bufflen;
|
|
|
+ task->scatter = scsi_sglist(cmd);
|
|
|
+ task->num_scatter = scsi_sg_count(cmd);
|
|
|
+ task->total_xfer_len = scsi_bufflen(cmd);
|
|
|
task->data_dir = cmd->sc_data_direction;
|
|
|
|
|
|
task->task_done = sas_scsi_task_done;
|