aboutsummaryrefslogtreecommitdiffstats
path: root/fpga/usrp3/top/x400/dboards
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2021-11-24 09:52:00 +0100
committerAaron Rossetto <aaron.rossetto@ni.com>2021-11-30 07:31:51 -0800
commit3d2b53d4b15294241d98415211f1691c215d0029 (patch)
treedcfdc5362256d96ec7021a7f2fc6df0159e5246a /fpga/usrp3/top/x400/dboards
parent2feb7a3b8c56e5fb26579fed7b507c37ac45e5d7 (diff)
downloaduhd-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/usrp3/top/x400/dboards')
0 files changed, 0 insertions, 0 deletions