sysclk-lwla: Avoid warning due to bogus range check.
(lwla_set_clock_source): Checking whether an enum value is greater than or equal to zero apparently results in a warning with some compilers. Assign the enum to an unsigned variable to avoid this, and return SR_ERR_BUG if the range is exceeded, as this indicates a bug in the driver code itself.
This commit is contained in:
parent
9e2bf9d204
commit
945e4343e2
|
@ -745,21 +745,23 @@ SR_PRIV int lwla_set_clock_source(const struct sr_dev_inst *sdi)
|
|||
struct dev_context *devc;
|
||||
int ret;
|
||||
enum clock_source selected;
|
||||
size_t idx;
|
||||
|
||||
devc = sdi->priv;
|
||||
selected = devc->selected_clock_source;
|
||||
|
||||
if (devc->cur_clock_source != selected) {
|
||||
devc->cur_clock_source = CLOCK_SOURCE_NONE;
|
||||
|
||||
if (selected >= 0 && selected < G_N_ELEMENTS(bitstream_map)) {
|
||||
ret = lwla_send_bitstream(sdi->conn,
|
||||
bitstream_map[selected]);
|
||||
idx = selected;
|
||||
if (idx >= G_N_ELEMENTS(bitstream_map)) {
|
||||
sr_err("Clock source (%d) out of range", selected);
|
||||
return SR_ERR_BUG;
|
||||
}
|
||||
ret = lwla_send_bitstream(sdi->conn, bitstream_map[idx]);
|
||||
if (ret == SR_OK)
|
||||
devc->cur_clock_source = selected;
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
return SR_OK;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue