ao_task: Task ids are 8-bits, fix type in struct ao_task
authorKeith Packard <keithp@keithp.com>
Fri, 28 Jan 2022 23:44:03 +0000 (15:44 -0800)
committerKeith Packard <keithp@keithp.com>
Thu, 17 Feb 2022 01:26:49 +0000 (17:26 -0800)
These are densely allocated and should never be larger than the
maximum number of task slots, so fix the type to be 8-bits just like
all other places where a task_id is used.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/kernel/ao_storage.c
src/kernel/ao_task.h

index 43abc43c1ec9e24396aff9a0c5dcc13dce44e386..a2c3738de6094d58d7fa2d31bd65f080da312214 100644 (file)
@@ -39,7 +39,7 @@ ao_storage_read(ao_pos_t pos, void *v_buf, uint16_t len)
                /* Compute portion of transfer within
                 * a single block
                 */
-               this_off = (uint16_t) pos & (ao_storage_unit - 1);
+               this_off = (uint16_t) (pos & (ao_storage_unit - 1));
                this_len = ao_storage_unit - this_off;
                if (this_len > len)
                        this_len = len;
@@ -70,7 +70,7 @@ ao_storage_write(ao_pos_t pos, void *v_buf, uint16_t len)
                /* Compute portion of transfer within
                 * a single block
                 */
-               this_off = (uint16_t) pos & (ao_storage_unit - 1);
+               this_off = (uint16_t) (pos & (ao_storage_unit - 1));
                this_len = ao_storage_unit - this_off;
                if (this_len > len)
                        this_len = len;
@@ -102,7 +102,7 @@ ao_storage_is_erased(uint32_t pos)
                uint32_t this_time = AO_STORAGE_DATA_SIZE;
                if (this_time > read_len)
                        this_time = read_len;
-               if (!ao_storage_read(read_pos, storage_data, this_time)) {
+               if (!ao_storage_read(read_pos, storage_data, (uint16_t) this_time)) {
                        ret = 0;
                        goto done;
                }
index beb4da30e5ad7d799b3780017b805e692c34d656..9197e25cef0f6f1c828d033404227206cd75a934 100644 (file)
@@ -38,7 +38,7 @@
 struct ao_task {
        void *wchan;                    /* current wait channel (NULL if running) */
        AO_TICK_TYPE alarm;             /* abort ao_sleep time */
-       uint16_t task_id;               /* unique id */
+       uint8_t task_id;                /* unique id */
        /* Saved stack pointer */
        union {
                uint32_t        *sp32;