xscale: fix bug in xscale_receive()
The code in xscale_receive() that tries to skip invalid reads (i.e. reads that don't have the DBG_SR[0] 'valid' bit set) seems to be wrong, as it only looks at the first word's valid flag rather than each word's own valid flag. Am I reading the code correctly? If so, the attached patch should fix it. If this looks correct, I'll generate a proper patch and commit message. Matt Change-Id: I74ebe2ad7a36d340a9dd3b8487578b6ea7f3cf1e Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com> Reviewed-on: http://openocd.zylin.com/32 Tested-by: jenkins Reviewed-by: Øyvind Harboe <oyvindharboe@gmail.com>
This commit is contained in:
parent
0dac042a10
commit
4eca579a6e
|
@ -317,7 +317,7 @@ static int xscale_receive(struct target *target, uint32_t *buffer, int num_words
|
||||||
/* examine results */
|
/* examine results */
|
||||||
for (i = words_done; i < num_words; i++)
|
for (i = words_done; i < num_words; i++)
|
||||||
{
|
{
|
||||||
if (!(field0[0] & 1))
|
if (!(field0[i] & 1))
|
||||||
{
|
{
|
||||||
/* move backwards if necessary */
|
/* move backwards if necessary */
|
||||||
int j;
|
int j;
|
||||||
|
|
Loading…
Reference in New Issue