From 2a7581da3f9f88e829f44967b330de2e04de7513 Mon Sep 17 00:00:00 2001 From: Boaz Harrosh Date: Sun, 9 Sep 2007 21:16:58 +0300 Subject: [PATCH] --- yaml --- r: 77013 b: refs/heads/master c: 57643c711c3759623e7ac651a4a418858cdaeae5 h: refs/heads/master i: 77011: f29e544e29e1723c9091529f9faaa38edfa73cdb v: v3 --- [refs] | 2 +- trunk/drivers/scsi/ppa.c | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index 3cdfc2ac8c48..5fabf4fa233e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 74286a3c276bca449f934b2cd921f9bced996e04 +refs/heads/master: 57643c711c3759623e7ac651a4a418858cdaeae5 diff --git a/trunk/drivers/scsi/ppa.c b/trunk/drivers/scsi/ppa.c index 67ee51a3d7e1..f655ae320b48 100644 --- a/trunk/drivers/scsi/ppa.c +++ b/trunk/drivers/scsi/ppa.c @@ -750,18 +750,16 @@ static int ppa_engine(ppa_struct *dev, struct scsi_cmnd *cmd) cmd->SCp.phase++; case 4: /* Phase 4 - Setup scatter/gather buffers */ - if (cmd->use_sg) { - /* if many buffers are available, start filling the first */ - cmd->SCp.buffer = (struct scatterlist *) cmd->request_buffer; + if (scsi_bufflen(cmd)) { + cmd->SCp.buffer = scsi_sglist(cmd); cmd->SCp.this_residual = cmd->SCp.buffer->length; cmd->SCp.ptr = sg_virt(cmd->SCp.buffer); } else { - /* else fill the only available buffer */ cmd->SCp.buffer = NULL; - cmd->SCp.this_residual = cmd->request_bufflen; - cmd->SCp.ptr = cmd->request_buffer; + cmd->SCp.this_residual = 0; + cmd->SCp.ptr = NULL; } - cmd->SCp.buffers_residual = cmd->use_sg - 1; + cmd->SCp.buffers_residual = scsi_sg_count(cmd) - 1; cmd->SCp.phase++; case 5: /* Phase 5 - Data transfer stage */