walnux/include/nuttx
ligd 4bd88acf1b wqueue: fix work_qcancel() judge error caused by the union in struct work_s
in struct work_s:
union
{
  struct
  {
    struct dq_entry_s dq; /* Implements a double linked list */
    clock_t qtime;        /* Time work queued */
  } s;
  struct wdog_s timer;    /* Delay expiry timer */
}

while we use WDOG_ISACTIVE(&work->timer) to decide use dq or timer,
that is error, wd_cancel() maybe modify this area, dq_rem() also can
modify this area.
So we can't use the WDOG_ISACTIVE(&work->timer) to take as the judgement,
when there is a union.

Fix:
swap the order in struct wdog_s, move the arg to the second 32bit

Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-09-08 15:03:54 +02:00
..
1wire include: Haltian Ltd: update licenses to Apache 2021-11-15 06:49:32 -06:00
analog c89: get rid of designated initializers in common code 2022-03-28 13:39:27 +08:00
audio audio: Return audio_lowerhalf_s pointer instead error code in audio_comp_initialize 2022-04-10 15:41:14 -03:00
binfmt binfmt: Fix memory leak in ELF loader 2022-07-23 14:34:27 +08:00
can drivers/can: optimize can driver reader side 2022-03-17 15:43:15 +08:00
clk nuttx: unify FAR attribute usage across the code 2022-04-04 21:32:58 +08:00
contactless author: OffCode Ltd : update licenses to Apache 2021-09-13 22:43:36 +08:00
crypto include/nuttx/crypto: include sys/types.h insted of stdint.h 2022-05-13 10:48:42 +08:00
drivers rpmsgdev: add rpmsg-device support. 2022-08-17 18:33:58 +08:00
eeprom include: fix double include pre-processor guards 2022-01-16 11:11:14 -03:00
efuse
fs fs: Fix symbol name in comments 2022-09-08 09:01:55 +08:00
himem include: himem: Add Apache license to files 2022-04-20 21:05:45 +08:00
i2c Added I2C Slave to RP2040 2022-07-16 01:56:52 +08:00
input input/keyboard: Make each instance could have a different buffer size 2022-03-21 09:03:05 +02:00
ioexpander ioexpander: Fix typos in comments 2022-08-15 10:25:11 +08:00
lcd Framebuffer's callback buffer starts from the area being drawn. 2022-08-13 20:36:45 +08:00
leds Added Adafruit QT Py RP2040 board. 2022-07-23 18:25:38 +08:00
lib * Squash round() commits 2022-09-08 20:57:27 +08:00
math add upper-half CORDIC driver 2021-07-28 14:23:13 -03:00
mbox
mm iob: Remove iob_user_e enum and related code 2022-08-15 08:41:20 +03:00
modem
motor include/nuttx/motor: add registers definitions for DRV8301 - 3-phase smart gate driver 2022-02-17 01:07:59 +08:00
mtd include: fix double include pre-processor guards 2022-01-16 11:11:14 -03:00
net net: Align the prototype of sock_intf_s::si_ioctl with file_operations::ioctl 2022-09-06 22:46:37 +08:00
note note/sysview: add Segger System View support 2022-01-29 17:26:04 +08:00
nx include: fix double include pre-processor guards 2022-01-16 11:11:14 -03:00
power power: add PM_IDLE_DOMAIN to pm.h and remove definations 2022-07-29 11:15:40 +08:00
rc Replece clock_gettime(CLOCK_MONOTONIC) with clock_systime_timespec 2022-02-24 01:06:36 +08:00
rf include: fix double include pre-processor guards 2022-01-16 11:11:14 -03:00
rptun rptun: add ns_match callback to resolve rptun deadlock 2022-07-27 20:36:51 +08:00
sensors sensors/qencoder: add QEIOC_GETINDEX ioctl 2022-09-04 11:08:45 +08:00
serial serial:fix a compile bug 2022-07-21 10:01:44 +03:00
spi include/nuttx/motor: add registers definitions for DRV8301 - 3-phase smart gate driver 2022-02-17 01:07:59 +08:00
syslog driver/ramlog: set CONFIG_SYSLOG_DEVPATH to /dev/kmsg when enbale ramglog 2022-07-21 23:40:56 +08:00
timers drivers/timers/capture.c: add support of pwm capture driver 2022-06-28 10:35:43 +08:00
usb Add printflike and scanflike to all printf/scanf like functions 2022-07-18 14:14:36 +03:00
video vncserver: Correct rfb_keyevent_s definition 2022-07-11 14:11:43 +08:00
wireless wireless/bluetooth:add bt bridge codes 2022-08-27 15:57:30 +08:00
.gitignore
addrenv.h UMM: Implement getter for address environment heap start vaddr 2022-04-29 23:13:16 +08:00
allsyms.h libc/allsyms: Load all symbols for debugging 2021-12-13 08:31:13 -06:00
arch.h arch: Improve documentation for up_fpucmp function 2022-08-26 11:57:06 +08:00
ascii.h
atexit.h libc: Implement exit, atexit, on_exit and cxa_exit on the user side 2022-05-25 15:28:43 +08:00
board.h boards/boardctl:common boardctl to read reset cause. 2022-03-30 09:59:10 +03:00
cache.h arch:cache: add lock feature for cache 2021-10-22 13:31:32 -03:00
can.h include/nuttx/can.h: rename CAN_ERR_CTRL to CAN_ERR_CRTL for compatibility with libcanutils 2022-01-23 01:34:34 +08:00
cancelpt.h
clock.h sched/clock: Remove CLOCK_MONOTONIC option from Kconfig 2022-02-23 01:21:26 +08:00
compiler.h compiler.h: Rename inline_function to always_inline_function 2022-09-07 10:24:04 +02:00
crc8.h libc/crc: Add full suffix to avoid the the penitential symbol collision 2022-08-29 18:06:53 +02:00
crc16.h libc/crc: Add full suffix to avoid the the penitential symbol collision 2022-08-29 18:06:53 +02:00
crc32.h libc/crc: Add full suffix to avoid the the penitential symbol collision 2022-08-29 18:06:53 +02:00
crc64.h libc/crc: Add full suffix to avoid the the penitential symbol collision 2022-08-29 18:06:53 +02:00
elf.h binfmt/elf: add bare metal coredump support 2021-11-23 20:48:00 -06:00
environ.h
envpath.h Rename LIB_ to LIBC_ for all libc Kconfig 2021-08-05 19:45:24 +02:00
init.h os init_state: add new state OSINIT_IDLELOOP 2022-02-23 22:05:37 +09:00
ipcc.h stm32wl5: fix unbuffered mode and other possible bugs 2022-08-18 11:46:38 +08:00
irq.h sched/irq/irq_csection.c: Fix typos and correct some comments. 2021-09-16 10:53:51 -05:00
kmalloc.h kmalloc.h: Add kmm_heapmember for !CONFIG_MM_KERNEL_HEAP case 2022-05-20 21:16:42 +08:00
kthread.h include: Declare nxtask_delete function. 2022-07-14 10:44:26 +03:00
lirc.h
list.h list.h: Change inline function to macro as much as possbile 2022-08-31 09:01:02 +02:00
mmcsd.h drivers/mmcsd: Add RPMB ioctl 2022-01-05 11:23:27 -03:00
module.h
mqueue.h sched/mqueue: replace inline linklist to improve performance 2022-06-12 00:34:05 +08:00
mutex.h drivers/syslog: reuse rmutex_t for the recursive check 2022-06-16 19:01:49 +03:00
nuttx.h
page.h
pgalloc.h
progmem.h progmem: eliminate PROGMEM_ERASESTATE configuration option 2022-03-22 10:01:41 -03:00
pthread.h libc/tls: Make tls_get_info as the pulibc function instead up_tls_info 2022-06-03 23:56:50 +03:00
random.h include: Haltian Ltd: update licenses to Apache 2021-11-15 06:49:32 -06:00
sched.h nuttx: change TCB_FLAG_MEM_CHECK to TCB_FLAG_HEAPCHECK 2022-08-02 10:46:44 +08:00
sched_note.h sched: Fix macro "SCHED_NOTE_PRINTF" requires 3 argumnets, but only 1 given 2022-08-29 12:04:50 +02:00
scsi.h
sdio.h mmcsd: Add FAR to the pointer argument 2022-05-13 15:41:27 +03:00
semaphore.h Replace nxsem_timedwait_uninterruptible with nxsem_tickwait_uninterruptible 2022-05-15 13:55:58 +03:00
signal.h
spawn.h
spinlock.h netdev: fix visual studio Compiler Error C2016 2022-08-17 21:38:30 +08:00
streams.h libc/blockstream: add block out stream backend 2022-04-18 19:21:22 +03:00
symtab.h
time.h
tls.h sched/tls: Shouldn't get tls info directly from sp in kernel space 2022-06-08 08:56:04 +09:00
tree.h Replace __attribute__ ((unused)) with unused_code 2021-07-29 21:55:21 -03:00
userspace.h Rename LIB_ to LIBC_ for all libc Kconfig 2021-08-05 19:45:24 +02:00
vt100.h
wdog.h wqueue: fix work_qcancel() judge error caused by the union in struct work_s 2022-09-08 15:03:54 +02:00
wqueue.h wqueue: change single queue to double queue to improve speed 2022-09-08 15:03:54 +02:00
zoneinfo.h Rename LIB_ to LIBC_ for all libc Kconfig 2021-08-05 19:45:24 +02:00