forked from Imagelibrary/rtems
grlib/b1553rt: Fix bit shift direction
The RT_TSW_OK field is set to 1 if there was no error. The Message Error (ME) field indicates an error and must be set to 0 if there was no error so the result of tsw&RT_TSW_OK must be negated. It is then left-shifted to the Messsage Error (ME) bit field of the message information word. Fix issue CID 1399772
This commit is contained in:
@@ -745,7 +745,7 @@ static void b1553rt_interrupt(void *arg)
|
||||
tsw = READ_DMA(&rt->mem[tx*0x3E0+suba]);
|
||||
|
||||
/* Build Message Information Word (B1553BRM-style) */
|
||||
miw = (wc<<11) | (tsw&RT_TSW_BUS)>>4 | !(tsw&RT_TSW_OK)>>7 | (tsw&RT_TSW_ILL)>>5 |
|
||||
miw = (wc<<11) | (tsw&RT_TSW_BUS)>>4 | !(tsw&RT_TSW_OK)<<7 | (tsw&RT_TSW_ILL)>>5 |
|
||||
(tsw&RT_TSW_PAR)>>5 | (tsw&RT_TSW_MAN)>>7;
|
||||
|
||||
descriptor = (tx << 5) | suba;
|
||||
|
||||
Reference in New Issue
Block a user