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>__archive__
parent
0dac042a10
commit
4eca579a6e
|
@ -317,7 +317,7 @@ static int xscale_receive(struct target *target, uint32_t *buffer, int num_words
|
|||
/* examine results */
|
||||
for (i = words_done; i < num_words; i++)
|
||||
{
|
||||
if (!(field0[0] & 1))
|
||||
if (!(field0[i] & 1))
|
||||
{
|
||||
/* move backwards if necessary */
|
||||
int j;
|
||||
|
|
Loading…
Reference in New Issue