diff --git a/src/systemcmds/config/config.c b/src/systemcmds/config/config.c index 0e30af4b5f..19c699d7dc 100644 --- a/src/systemcmds/config/config.c +++ b/src/systemcmds/config/config.c @@ -70,14 +70,16 @@ static void do_device(int argc, char *argv[]); int config_main(int argc, char *argv[]) { + bool is_device_cmd = argc >= 3 && (!strcmp(argv[2], "block") || !strcmp(argv[2], "unblock")); + if (argc >= 2) { - if (!strncmp(argv[1], "/dev/gyro", 9)) { + if (!is_device_cmd && !strncmp(argv[1], "/dev/gyro", 9)) { do_gyro(argc - 1, argv + 1); - } else if (!strncmp(argv[1], "/dev/accel", 10)) { + } else if (!is_device_cmd && !strncmp(argv[1], "/dev/accel", 10)) { do_accel(argc - 1, argv + 1); - } else if (!strncmp(argv[1], "/dev/mag", 8)) { + } else if (!is_device_cmd && !strncmp(argv[1], "/dev/mag", 8)) { do_mag(argc - 1, argv + 1); } else {