mirror of
https://github.com/m-labs/artiq.git
synced 2024-12-25 19:28:26 +08:00
runtime/moninj: Don't try to pack more than 64 channels
Since the status words are only 8 bytes wide, left-shifting by more than that is undefined behaviour (although it seems like we got lucky and Clang dind't decide to optimise the whole implementation away). See GitHub #601. Signed-off-by: David Nadlinger <code@klickverbot.at>
This commit is contained in:
parent
4e03f7ab0a
commit
d5974b3af5
@ -52,7 +52,8 @@ static void moninj_monitor(const ip_addr_t *addr, u16_t port)
|
|||||||
reply.ttl_levels = 0;
|
reply.ttl_levels = 0;
|
||||||
reply.ttl_oes = 0;
|
reply.ttl_oes = 0;
|
||||||
reply.ttl_overrides = 0;
|
reply.ttl_overrides = 0;
|
||||||
for(i=0;i<CONFIG_RTIO_REGULAR_TTL_COUNT;i++) {
|
/* send at most 64 channels, the protocol doesn't support more */
|
||||||
|
for(i=0;i<min(CONFIG_RTIO_REGULAR_TTL_COUNT, 64);i++) {
|
||||||
rtio_moninj_mon_chan_sel_write(i);
|
rtio_moninj_mon_chan_sel_write(i);
|
||||||
rtio_moninj_mon_probe_sel_write(0);
|
rtio_moninj_mon_probe_sel_write(0);
|
||||||
rtio_moninj_mon_value_update_write(1);
|
rtio_moninj_mon_value_update_write(1);
|
||||||
|
Loading…
Reference in New Issue
Block a user