diff options
author | Martin Braun <martin.braun@ettus.com> | 2021-11-24 09:52:00 +0100 |
---|---|---|
committer | Aaron Rossetto <aaron.rossetto@ni.com> | 2021-11-30 07:31:51 -0800 |
commit | 3d2b53d4b15294241d98415211f1691c215d0029 (patch) | |
tree | dcfdc5362256d96ec7021a7f2fc6df0159e5246a /fpga/usrp1 | |
parent | 2feb7a3b8c56e5fb26579fed7b507c37ac45e5d7 (diff) | |
download | uhd-3d2b53d4b15294241d98415211f1691c215d0029.tar.gz uhd-3d2b53d4b15294241d98415211f1691c215d0029.tar.bz2 uhd-3d2b53d4b15294241d98415211f1691c215d0029.zip |
rfnoc: radio: Fix async message handling channel checks
The async message handler and the async message validator would
erroneously compare channel numbers for RX async messages with the
number of valid TX channels. On TwinRX, where there are zero TX
channels, this would always fail. Elsewhere in the code, the comparisons
for TX and RX channels mixed up input and output ports.
The second issue is that the comparison made was a "greater than" rather
than "greater or equal".
The effect of these two bugs was that potentially, we could have
accepted async messages for an invalid port N, where N is the number of
valid ports of this block, and that for TwinRX/X300 users, async
messages on channel 1 would not get accepted (they would, however, get
accepted for channel 0 because of the second issue). This includes
overrun handling, which was broken for channel 1 and 3 on an X300.
Another effect of the bug was that EPIDs for async messages weren't
always programmed correctly.
Diffstat (limited to 'fpga/usrp1')
0 files changed, 0 insertions, 0 deletions