cs-etm: avoid casting variable
Because of two's complement reprensentation, casting an int to and unsigned value doesn't simply get rid of the negative sign. As such a value of -1 becomes 0xFFFFFFFF, which is clearly not the desired effect. This patch deals with cases when @cpu has the value of -1. In those cases queue '0' is initially selected. Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
This commit is contained in:
parent
0951a97ed9
commit
c14318faac
1 changed files with 4 additions and 2 deletions
|
@ -938,10 +938,12 @@ static struct cs_etm_queue *cs_etm__cpu_to_etmq(struct cs_etm_auxtrace *etm,
|
|||
{
|
||||
unsigned q,j;
|
||||
|
||||
if (/*(cpu < 0) ||*/ (0 == etm->queues.nr_queues))
|
||||
if (etm->queues.nr_queues == 0)
|
||||
return NULL;
|
||||
|
||||
if ((unsigned) cpu >= etm->queues.nr_queues)
|
||||
if (cpu < 0)
|
||||
q = 0;
|
||||
else if ((unsigned) cpu >= etm->queues.nr_queues)
|
||||
q = etm->queues.nr_queues - 1;
|
||||
else
|
||||
q = cpu;
|
||||
|
|
Loading…
Add table
Reference in a new issue