aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Meserve <mark.meserve@ni.com>2017-03-13 17:17:48 -0500
committerMartin Braun <martin.braun@ettus.com>2017-03-21 18:05:28 -0700
commit52c234d791774d642480a21d1c5328cfe9607696 (patch)
treef82f43fe9db34216f195dc0320998da0c6d50705
parent3870f16f6eb8959319629fdf7d4eb1f5583ed942 (diff)
downloaduhd-52c234d791774d642480a21d1c5328cfe9607696.tar.gz
uhd-52c234d791774d642480a21d1c5328cfe9607696.tar.bz2
uhd-52c234d791774d642480a21d1c5328cfe9607696.zip
max2871: fix for not writing register 0 when required
-rw-r--r--host/lib/usrp/common/max287x.hpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/host/lib/usrp/common/max287x.hpp b/host/lib/usrp/common/max287x.hpp
index 2e87dc6ff..839ed77bc 100644
--- a/host/lib/usrp/common/max287x.hpp
+++ b/host/lib/usrp/common/max287x.hpp
@@ -900,6 +900,12 @@ void max287x<max287x_regs_t>::commit()
} else {
try {
changed_regs = _regs.template get_changed_addrs<uint32_t> ();
+ // register 0 must be written to apply double buffered fields
+ if (changed_regs.size() > 0)
+ {
+ changed_regs.insert(0);
+ }
+
for (int addr = 5; addr >= 0; addr--)
{
if (changed_regs.find(uint32_t(addr)) != changed_regs.end())