mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-05 22:41:44 +00:00
The keyscan task is short enough on stack space that turning on keyboard debugging causes a stack overflow. This was previously not the default, but https://chromium-review.googlesource.com/#/c/174373/ made it the default. Reverting that change just masks the problem; enabling keyboard debugging on Spring would still cause a stack overflow. Rather than reverting that change, increase the stack size of the keyscan task so that it doesn't overflow. There is sufficient space to do this. Even after increasing the keyboard stack from 256 bytes to 320 bytes and doing a 'sysjump rw' to force jump tags to populate, 'shmem' reports 132 bytes free. BUG=chrome-os-partner:23834 BRANCH=none TEST=Boot Spring. ksstate on Bang on keyboard for a bit taskinfo -> shows KEYSCAN task at 292/320 bytes free sysjump rw shmem -> shows 132 bytes free, 0 used Change-Id: Idf9fdce5b9e6ca4d05d80a62ae9ea831ed508e3a Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/177355 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
27 lines
1.1 KiB
Plaintext
27 lines
1.1 KiB
Plaintext
/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
/**
|
|
* List of enabled tasks in the priority order
|
|
*
|
|
* The first one has the lowest priority.
|
|
*
|
|
* For each task, use the macro TASK_ALWAYS(n, r, d, s) for base tasks and
|
|
* TASK_NOTEST(n, r, d, s) for tasks that can be excluded in test binaries,
|
|
* where :
|
|
* 'n' in the name of the task
|
|
* 'r' in the main routine of the task
|
|
* 'd' in an opaque parameter passed to the routine at startup
|
|
* 's' is the stack size in bytes; must be a multiple of 8
|
|
*/
|
|
#define CONFIG_TASK_LIST \
|
|
TASK_ALWAYS(HOOKS, hook_task, NULL, TASK_STACK_SIZE) \
|
|
TASK_NOTEST(VBOOTHASH, vboot_hash_task, NULL, TASK_STACK_SIZE) \
|
|
TASK_ALWAYS(CHARGER, charger_task, NULL, TASK_STACK_SIZE) \
|
|
TASK_NOTEST(CHIPSET, chipset_task, NULL, TASK_STACK_SIZE) \
|
|
TASK_ALWAYS(HOSTCMD, host_command_task, NULL, TASK_STACK_SIZE) \
|
|
TASK_ALWAYS(CONSOLE, console_task, NULL, TASK_STACK_SIZE) \
|
|
TASK_NOTEST(KEYSCAN, keyboard_scan_task, NULL, 320)
|