lkml.org 
[lkml]   [2017]   [Aug]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 2/3] scsi: aacraid: get rid of one level of indentation
    Date
      unsigned long byte_count = 0;
    nseg = scsi_dma_map(scsicmd);
    if (nseg < 0)
    return nseg;
    if (nseg) {
    ...
    }
    return byte_count;

    is equal to

    unsigned long byte_count = 0;
    nseg = scsi_dma_map(scsicmd);
    if (nseg <= 0)
    return nseg;
    ...
    return byte_count;

    No other code has changed.

    Signed-off-by: Nikola Pajkovsky <npajkovsky@suse.cz>
    ---
    drivers/scsi/aacraid/aachba.c | 267 +++++++++++++++++++++---------------------
    1 file changed, 131 insertions(+), 136 deletions(-)

    diff --git a/drivers/scsi/aacraid/aachba.c b/drivers/scsi/aacraid/aachba.c
    index a1a2c71e1626..3c354766791e 100644
    --- a/drivers/scsi/aacraid/aachba.c
    +++ b/drivers/scsi/aacraid/aachba.c
    @@ -3763,6 +3763,8 @@ static long aac_build_sg(struct scsi_cmnd *scsicmd, struct sgmap *psg)
    struct aac_dev *dev;
    unsigned long byte_count = 0;
    int nseg;
    + struct scatterlist *sg;
    + int i;

    dev = (struct aac_dev *)scsicmd->device->host->hostdata;
    // Get rid of old data
    @@ -3771,32 +3773,29 @@ static long aac_build_sg(struct scsi_cmnd *scsicmd, struct sgmap *psg)
    psg->sg[0].count = 0;

    nseg = scsi_dma_map(scsicmd);
    - if (nseg < 0)
    + if (nseg <= 0)
    return nseg;
    - if (nseg) {
    - struct scatterlist *sg;
    - int i;

    - psg->count = cpu_to_le32(nseg);
    + psg->count = cpu_to_le32(nseg);

    - scsi_for_each_sg(scsicmd, sg, nseg, i) {
    - psg->sg[i].addr = cpu_to_le32(sg_dma_address(sg));
    - psg->sg[i].count = cpu_to_le32(sg_dma_len(sg));
    - byte_count += sg_dma_len(sg);
    - }
    - /* hba wants the size to be exact */
    - if (byte_count > scsi_bufflen(scsicmd)) {
    - u32 temp = le32_to_cpu(psg->sg[i-1].count) -
    - (byte_count - scsi_bufflen(scsicmd));
    - psg->sg[i-1].count = cpu_to_le32(temp);
    - byte_count = scsi_bufflen(scsicmd);
    - }
    - /* Check for command underflow */
    - if(scsicmd->underflow && (byte_count < scsicmd->underflow)){
    - printk(KERN_WARNING"aacraid: cmd len %08lX cmd underflow %08X\n",
    - byte_count, scsicmd->underflow);
    - }
    + scsi_for_each_sg(scsicmd, sg, nseg, i) {
    + psg->sg[i].addr = cpu_to_le32(sg_dma_address(sg));
    + psg->sg[i].count = cpu_to_le32(sg_dma_len(sg));
    + byte_count += sg_dma_len(sg);
    + }
    + /* hba wants the size to be exact */
    + if (byte_count > scsi_bufflen(scsicmd)) {
    + u32 temp = le32_to_cpu(psg->sg[i-1].count) -
    + (byte_count - scsi_bufflen(scsicmd));
    + psg->sg[i-1].count = cpu_to_le32(temp);
    + byte_count = scsi_bufflen(scsicmd);
    + }
    + /* Check for command underflow */
    + if(scsicmd->underflow && (byte_count < scsicmd->underflow)){
    + printk(KERN_WARNING"aacraid: cmd len %08lX cmd underflow %08X\n",
    + byte_count, scsicmd->underflow);
    }
    +
    return byte_count;
    }

    @@ -3807,6 +3806,8 @@ static long aac_build_sg64(struct scsi_cmnd *scsicmd, struct sgmap64 *psg)
    unsigned long byte_count = 0;
    u64 addr;
    int nseg;
    + struct scatterlist *sg;
    + int i;

    dev = (struct aac_dev *)scsicmd->device->host->hostdata;
    // Get rid of old data
    @@ -3816,34 +3817,31 @@ static long aac_build_sg64(struct scsi_cmnd *scsicmd, struct sgmap64 *psg)
    psg->sg[0].count = 0;

    nseg = scsi_dma_map(scsicmd);
    - if (nseg < 0)
    + if (nseg <= 0)
    return nseg;
    - if (nseg) {
    - struct scatterlist *sg;
    - int i;
    -
    - scsi_for_each_sg(scsicmd, sg, nseg, i) {
    - int count = sg_dma_len(sg);
    - addr = sg_dma_address(sg);
    - psg->sg[i].addr[0] = cpu_to_le32(addr & 0xffffffff);
    - psg->sg[i].addr[1] = cpu_to_le32(addr>>32);
    - psg->sg[i].count = cpu_to_le32(count);
    - byte_count += count;
    - }
    - psg->count = cpu_to_le32(nseg);
    - /* hba wants the size to be exact */
    - if (byte_count > scsi_bufflen(scsicmd)) {
    - u32 temp = le32_to_cpu(psg->sg[i-1].count) -
    - (byte_count - scsi_bufflen(scsicmd));
    - psg->sg[i-1].count = cpu_to_le32(temp);
    - byte_count = scsi_bufflen(scsicmd);
    - }
    - /* Check for command underflow */
    - if(scsicmd->underflow && (byte_count < scsicmd->underflow)){
    - printk(KERN_WARNING"aacraid: cmd len %08lX cmd underflow %08X\n",
    - byte_count, scsicmd->underflow);
    - }
    +
    + scsi_for_each_sg(scsicmd, sg, nseg, i) {
    + int count = sg_dma_len(sg);
    + addr = sg_dma_address(sg);
    + psg->sg[i].addr[0] = cpu_to_le32(addr & 0xffffffff);
    + psg->sg[i].addr[1] = cpu_to_le32(addr>>32);
    + psg->sg[i].count = cpu_to_le32(count);
    + byte_count += count;
    }
    + psg->count = cpu_to_le32(nseg);
    + /* hba wants the size to be exact */
    + if (byte_count > scsi_bufflen(scsicmd)) {
    + u32 temp = le32_to_cpu(psg->sg[i-1].count) -
    + (byte_count - scsi_bufflen(scsicmd));
    + psg->sg[i-1].count = cpu_to_le32(temp);
    + byte_count = scsi_bufflen(scsicmd);
    + }
    + /* Check for command underflow */
    + if(scsicmd->underflow && (byte_count < scsicmd->underflow)){
    + printk(KERN_WARNING"aacraid: cmd len %08lX cmd underflow %08X\n",
    + byte_count, scsicmd->underflow);
    + }
    +
    return byte_count;
    }

    @@ -3851,6 +3849,8 @@ static long aac_build_sgraw(struct scsi_cmnd *scsicmd, struct sgmapraw *psg)
    {
    unsigned long byte_count = 0;
    int nseg;
    + struct scatterlist *sg;
    + int i;

    // Get rid of old data
    psg->count = 0;
    @@ -3862,37 +3862,34 @@ static long aac_build_sgraw(struct scsi_cmnd *scsicmd, struct sgmapraw *psg)
    psg->sg[0].flags = 0;

    nseg = scsi_dma_map(scsicmd);
    - if (nseg < 0)
    + if (nseg <= 0)
    return nseg;
    - if (nseg) {
    - struct scatterlist *sg;
    - int i;
    -
    - scsi_for_each_sg(scsicmd, sg, nseg, i) {
    - int count = sg_dma_len(sg);
    - u64 addr = sg_dma_address(sg);
    - psg->sg[i].next = 0;
    - psg->sg[i].prev = 0;
    - psg->sg[i].addr[1] = cpu_to_le32((u32)(addr>>32));
    - psg->sg[i].addr[0] = cpu_to_le32((u32)(addr & 0xffffffff));
    - psg->sg[i].count = cpu_to_le32(count);
    - psg->sg[i].flags = 0;
    - byte_count += count;
    - }
    - psg->count = cpu_to_le32(nseg);
    - /* hba wants the size to be exact */
    - if (byte_count > scsi_bufflen(scsicmd)) {
    - u32 temp = le32_to_cpu(psg->sg[i-1].count) -
    - (byte_count - scsi_bufflen(scsicmd));
    - psg->sg[i-1].count = cpu_to_le32(temp);
    - byte_count = scsi_bufflen(scsicmd);
    - }
    - /* Check for command underflow */
    - if(scsicmd->underflow && (byte_count < scsicmd->underflow)){
    - printk(KERN_WARNING"aacraid: cmd len %08lX cmd underflow %08X\n",
    - byte_count, scsicmd->underflow);
    - }
    +
    + scsi_for_each_sg(scsicmd, sg, nseg, i) {
    + int count = sg_dma_len(sg);
    + u64 addr = sg_dma_address(sg);
    + psg->sg[i].next = 0;
    + psg->sg[i].prev = 0;
    + psg->sg[i].addr[1] = cpu_to_le32((u32)(addr>>32));
    + psg->sg[i].addr[0] = cpu_to_le32((u32)(addr & 0xffffffff));
    + psg->sg[i].count = cpu_to_le32(count);
    + psg->sg[i].flags = 0;
    + byte_count += count;
    + }
    + psg->count = cpu_to_le32(nseg);
    + /* hba wants the size to be exact */
    + if (byte_count > scsi_bufflen(scsicmd)) {
    + u32 temp = le32_to_cpu(psg->sg[i-1].count) -
    + (byte_count - scsi_bufflen(scsicmd));
    + psg->sg[i-1].count = cpu_to_le32(temp);
    + byte_count = scsi_bufflen(scsicmd);
    + }
    + /* Check for command underflow */
    + if(scsicmd->underflow && (byte_count < scsicmd->underflow)){
    + printk(KERN_WARNING"aacraid: cmd len %08lX cmd underflow %08X\n",
    + byte_count, scsicmd->underflow);
    }
    +
    return byte_count;
    }

    @@ -3901,75 +3898,73 @@ static long aac_build_sgraw2(struct scsi_cmnd *scsicmd,
    {
    unsigned long byte_count = 0;
    int nseg;
    + struct scatterlist *sg;
    + int i, conformable = 0;
    + u32 min_size = PAGE_SIZE, cur_size;

    nseg = scsi_dma_map(scsicmd);
    - if (nseg < 0)
    + if (nseg <= 0)
    return nseg;
    - if (nseg) {
    - struct scatterlist *sg;
    - int i, conformable = 0;
    - u32 min_size = PAGE_SIZE, cur_size;
    -
    - scsi_for_each_sg(scsicmd, sg, nseg, i) {
    - int count = sg_dma_len(sg);
    - u64 addr = sg_dma_address(sg);
    -
    - BUG_ON(i >= sg_max);
    - rio2->sge[i].addrHigh = cpu_to_le32((u32)(addr>>32));
    - rio2->sge[i].addrLow = cpu_to_le32((u32)(addr & 0xffffffff));
    - cur_size = cpu_to_le32(count);
    - rio2->sge[i].length = cur_size;
    - rio2->sge[i].flags = 0;
    - if (i == 0) {
    - conformable = 1;
    - rio2->sgeFirstSize = cur_size;
    - } else if (i == 1) {
    - rio2->sgeNominalSize = cur_size;
    +
    + scsi_for_each_sg(scsicmd, sg, nseg, i) {
    + int count = sg_dma_len(sg);
    + u64 addr = sg_dma_address(sg);
    +
    + BUG_ON(i >= sg_max);
    + rio2->sge[i].addrHigh = cpu_to_le32((u32)(addr>>32));
    + rio2->sge[i].addrLow = cpu_to_le32((u32)(addr & 0xffffffff));
    + cur_size = cpu_to_le32(count);
    + rio2->sge[i].length = cur_size;
    + rio2->sge[i].flags = 0;
    + if (i == 0) {
    + conformable = 1;
    + rio2->sgeFirstSize = cur_size;
    + } else if (i == 1) {
    + rio2->sgeNominalSize = cur_size;
    + min_size = cur_size;
    + } else if ((i+1) < nseg && cur_size != rio2->sgeNominalSize) {
    + conformable = 0;
    + if (cur_size < min_size)
    min_size = cur_size;
    - } else if ((i+1) < nseg && cur_size != rio2->sgeNominalSize) {
    - conformable = 0;
    - if (cur_size < min_size)
    - min_size = cur_size;
    - }
    - byte_count += count;
    }
    + byte_count += count;
    + }

    - /* hba wants the size to be exact */
    - if (byte_count > scsi_bufflen(scsicmd)) {
    - u32 temp = le32_to_cpu(rio2->sge[i-1].length) -
    - (byte_count - scsi_bufflen(scsicmd));
    - rio2->sge[i-1].length = cpu_to_le32(temp);
    - byte_count = scsi_bufflen(scsicmd);
    - }
    + /* hba wants the size to be exact */
    + if (byte_count > scsi_bufflen(scsicmd)) {
    + u32 temp = le32_to_cpu(rio2->sge[i-1].length) -
    + (byte_count - scsi_bufflen(scsicmd));
    + rio2->sge[i-1].length = cpu_to_le32(temp);
    + byte_count = scsi_bufflen(scsicmd);
    + }

    - rio2->sgeCnt = cpu_to_le32(nseg);
    - rio2->flags |= cpu_to_le16(RIO2_SG_FORMAT_IEEE1212);
    - /* not conformable: evaluate required sg elements */
    - if (!conformable) {
    - int j, nseg_new = nseg, err_found;
    - for (i = min_size / PAGE_SIZE; i >= 1; --i) {
    - err_found = 0;
    - nseg_new = 2;
    - for (j = 1; j < nseg - 1; ++j) {
    - if (rio2->sge[j].length % (i*PAGE_SIZE)) {
    - err_found = 1;
    - break;
    - }
    - nseg_new += (rio2->sge[j].length / (i*PAGE_SIZE));
    - }
    - if (!err_found)
    + rio2->sgeCnt = cpu_to_le32(nseg);
    + rio2->flags |= cpu_to_le16(RIO2_SG_FORMAT_IEEE1212);
    + /* not conformable: evaluate required sg elements */
    + if (!conformable) {
    + int j, nseg_new = nseg, err_found;
    + for (i = min_size / PAGE_SIZE; i >= 1; --i) {
    + err_found = 0;
    + nseg_new = 2;
    + for (j = 1; j < nseg - 1; ++j) {
    + if (rio2->sge[j].length % (i*PAGE_SIZE)) {
    + err_found = 1;
    break;
    + }
    + nseg_new += (rio2->sge[j].length / (i*PAGE_SIZE));
    }
    - if (i > 0 && nseg_new <= sg_max)
    - aac_convert_sgraw2(rio2, i, nseg, nseg_new);
    - } else
    - rio2->flags |= cpu_to_le16(RIO2_SGL_CONFORMANT);
    -
    - /* Check for command underflow */
    - if (scsicmd->underflow && (byte_count < scsicmd->underflow)) {
    - printk(KERN_WARNING"aacraid: cmd len %08lX cmd underflow %08X\n",
    - byte_count, scsicmd->underflow);
    + if (!err_found)
    + break;
    }
    + if (i > 0 && nseg_new <= sg_max)
    + aac_convert_sgraw2(rio2, i, nseg, nseg_new);
    + } else
    + rio2->flags |= cpu_to_le16(RIO2_SGL_CONFORMANT);
    +
    + /* Check for command underflow */
    + if (scsicmd->underflow && (byte_count < scsicmd->underflow)) {
    + printk(KERN_WARNING"aacraid: cmd len %08lX cmd underflow %08X\n",
    + byte_count, scsicmd->underflow);
    }

    return byte_count;
    --
    2.13.5
    \
     
     \ /
      Last update: 2017-08-29 13:59    [W:2.960 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site