diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2019-01-13 11:03:30 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2019-01-13 11:03:30 -0500 |
commit | 093512b9713999069b53193127ab0086e075a4f7 (patch) | |
tree | a32334bcacfb74338519162cd7628aa78e09f26a | |
parent | 6256599a6dfc0c52a3c5e019c470d4cc46feeb82 (diff) | |
download | kutter-093512b9713999069b53193127ab0086e075a4f7.tar.gz kutter-093512b9713999069b53193127ab0086e075a4f7.tar.xz kutter-093512b9713999069b53193127ab0086e075a4f7.zip |
adccmds: Run gpio_adc_setup() before oid_alloc()
Order the adc config code so that a shutdown from gpio_adc_setup()
doesn't result in analog_in_shutdown() running on a 'struct analog_in'
that hasn't yet been configured.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r-- | src/adccmds.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/adccmds.c b/src/adccmds.c index 09db9b9d..a27dc8c0 100644 --- a/src/adccmds.c +++ b/src/adccmds.c @@ -61,10 +61,11 @@ analog_in_event(struct timer *timer) void command_config_analog_in(uint32_t *args) { + struct gpio_adc pin = gpio_adc_setup(args[1]); struct analog_in *a = oid_alloc( args[0], command_config_analog_in, sizeof(*a)); a->timer.func = analog_in_event; - a->pin = gpio_adc_setup(args[1]); + a->pin = pin; a->state = 1; } DECL_COMMAND(command_config_analog_in, "config_analog_in oid=%c pin=%u"); |