Commit cdef57db authored by Dan Williams's avatar Dan Williams

ioat3: fix uninitialized var warnings

drivers/dma/ioat/dma_v3.c: In function 'ioat3_prep_memset_lock':
drivers/dma/ioat/dma_v3.c:439: warning: 'fill' may be used uninitialized in this function
drivers/dma/ioat/dma_v3.c:437: warning: 'desc' may be used uninitialized in this function
drivers/dma/ioat/dma_v3.c: In function '__ioat3_prep_xor_lock':
drivers/dma/ioat/dma_v3.c:489: warning: 'xor' may be used uninitialized in this function
drivers/dma/ioat/dma_v3.c:486: warning: 'desc' may be used uninitialized in this function
drivers/dma/ioat/dma_v3.c: In function '__ioat3_prep_pq_lock':
drivers/dma/ioat/dma_v3.c:631: warning: 'pq' may be used uninitialized in this function
drivers/dma/ioat/dma_v3.c:628: warning: 'desc' may be used uninitialized in this function

gcc-4.0, unlike gcc-4.3, does not see that these variables are
initialized before use.  Convert the descriptor loops to do-while make
this initialization apparent.
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent f477f5b3
...@@ -448,7 +448,8 @@ ioat3_prep_memset_lock(struct dma_chan *c, dma_addr_t dest, int value, ...@@ -448,7 +448,8 @@ ioat3_prep_memset_lock(struct dma_chan *c, dma_addr_t dest, int value,
/* pass */; /* pass */;
else else
return NULL; return NULL;
for (i = 0; i < num_descs; i++) { i = 0;
do {
size_t xfer_size = min_t(size_t, len, 1 << ioat->xfercap_log); size_t xfer_size = min_t(size_t, len, 1 << ioat->xfercap_log);
desc = ioat2_get_ring_ent(ioat, idx + i); desc = ioat2_get_ring_ent(ioat, idx + i);
...@@ -463,7 +464,7 @@ ioat3_prep_memset_lock(struct dma_chan *c, dma_addr_t dest, int value, ...@@ -463,7 +464,7 @@ ioat3_prep_memset_lock(struct dma_chan *c, dma_addr_t dest, int value,
len -= xfer_size; len -= xfer_size;
dest += xfer_size; dest += xfer_size;
dump_desc_dbg(ioat, desc); dump_desc_dbg(ioat, desc);
} } while (++i < num_descs);
desc->txd.flags = flags; desc->txd.flags = flags;
desc->len = total_len; desc->len = total_len;
...@@ -518,7 +519,8 @@ __ioat3_prep_xor_lock(struct dma_chan *c, enum sum_check_flags *result, ...@@ -518,7 +519,8 @@ __ioat3_prep_xor_lock(struct dma_chan *c, enum sum_check_flags *result,
/* pass */; /* pass */;
else else
return NULL; return NULL;
for (i = 0; i < num_descs; i += 1 + with_ext) { i = 0;
do {
struct ioat_raw_descriptor *descs[2]; struct ioat_raw_descriptor *descs[2];
size_t xfer_size = min_t(size_t, len, 1 << ioat->xfercap_log); size_t xfer_size = min_t(size_t, len, 1 << ioat->xfercap_log);
int s; int s;
...@@ -546,7 +548,7 @@ __ioat3_prep_xor_lock(struct dma_chan *c, enum sum_check_flags *result, ...@@ -546,7 +548,7 @@ __ioat3_prep_xor_lock(struct dma_chan *c, enum sum_check_flags *result,
len -= xfer_size; len -= xfer_size;
offset += xfer_size; offset += xfer_size;
dump_desc_dbg(ioat, desc); dump_desc_dbg(ioat, desc);
} } while ((i += 1 + with_ext) < num_descs);
/* last xor descriptor carries the unmap parameters and fence bit */ /* last xor descriptor carries the unmap parameters and fence bit */
desc->txd.flags = flags; desc->txd.flags = flags;
...@@ -664,7 +666,8 @@ __ioat3_prep_pq_lock(struct dma_chan *c, enum sum_check_flags *result, ...@@ -664,7 +666,8 @@ __ioat3_prep_pq_lock(struct dma_chan *c, enum sum_check_flags *result,
/* pass */; /* pass */;
else else
return NULL; return NULL;
for (i = 0; i < num_descs; i += 1 + with_ext) { i = 0;
do {
struct ioat_raw_descriptor *descs[2]; struct ioat_raw_descriptor *descs[2];
size_t xfer_size = min_t(size_t, len, 1 << ioat->xfercap_log); size_t xfer_size = min_t(size_t, len, 1 << ioat->xfercap_log);
...@@ -703,7 +706,7 @@ __ioat3_prep_pq_lock(struct dma_chan *c, enum sum_check_flags *result, ...@@ -703,7 +706,7 @@ __ioat3_prep_pq_lock(struct dma_chan *c, enum sum_check_flags *result,
len -= xfer_size; len -= xfer_size;
offset += xfer_size; offset += xfer_size;
} } while ((i += 1 + with_ext) < num_descs);
/* last pq descriptor carries the unmap parameters and fence bit */ /* last pq descriptor carries the unmap parameters and fence bit */
desc->txd.flags = flags; desc->txd.flags = flags;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment