Documented in 1 files:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/mtd/ubi/wl.c do_work() -> (struct ubi_work)->func()

Type Parameter Key Value
PARAM_VALUE 0 ubi 4096-ptr_max
PARAM_VALUE 0 ubi->fm_eba_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->fm_eba_sem.first_waiter->type 0-1
PARAM_VALUE 0 ubi->fm_protect.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->fm_protect.first_waiter->type 0-1
PARAM_VALUE 0 ubi->wl_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ubi->work_sem.dep_map->name 0-255
PARAM_VALUE 0 ubi->work_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->work_sem.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 ubi->work_sem.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 ubi->work_sem.first_waiter->type 0-1
PARAM_VALUE 0 ubi->work_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ubi->work_sem.wait_lock.owner (-1)
PARAM_VALUE 0 ubi->work_sem.wait_lock.owner_cpu u32max
PARAM_VALUE 1 wrk 4096-ptr_max
PARAM_VALUE 2 shutdown 0
BUF_SIZE 0 ubi (-1),128
BUF_SIZE 0 ubi (-1),128
CAPPED_DATA 0 &ubi->work_sem 1
CAPPED_DATA 0 &ubi->works 1
DATA_SOURCE 0 ubi $0
CONTAINER 1 -16+0 $(-1)
PARAM_COMPARE 0 &ubi->works != $0->works.next
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 ubi->bgt_thread->dl.pi_se->dl_runtime
NO_OVERFLOW_SIMPLE 0 ubi->leb_size
NO_OVERFLOW_SIMPLE 0 ubi->vid_hdr_aloffset
LOCK2 0 &ubi->work_sem
HALF_LOCKED2 &le->mutex
HALF_LOCKED2 0 &ubi->device_mutex
TYPE_LOCK (struct ubi_device)->work_sem

drivers/mtd/ubi/wl.c shutdown_work() -> (struct ubi_work)->func()

Type Parameter Key Value
PARAM_VALUE 0 ubi 4096-ptr_max
PARAM_VALUE 0 ubi->dev.kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 ubi->dev.power.entry.prev->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 ubi->device_mutex.dep_map->name 0-255
PARAM_VALUE 0 ubi->fm_eba_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->fm_eba_sem.first_waiter->type 0-1
PARAM_VALUE 0 ubi->fm_protect.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->fm_protect.first_waiter->type 0-1
PARAM_VALUE 0 ubi->work_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->work_sem.first_waiter->type 0-1
PARAM_VALUE 1 wrk 4096-ptr_max
PARAM_VALUE 2 shutdown 1
BUF_SIZE 0 ubi (-1),7232
BUF_SIZE 0 ubi (-1),7232
BUF_SIZE 0 ubi->lookuptbl (-1),8
CAPPED_DATA 0 &ubi->works 1
DATA_SOURCE 0 ubi $0
STR_LEN 0 ubi->dev.parent->driver_data (-1)
STR_LEN 0 ubi->mtd (-1)
STR_LEN 0 ubi->mtd->dev.driver_data (-1)
STR_LEN 0 ubi->mtd->name (-1)
CONTAINER 1 -16+0 $(-1)
PARAM_COMPARE 0 &ubi->works != $0->works.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 ubi->bgt_thread->dl.pi_se->dl_runtime
NO_OVERFLOW_SIMPLE 0 ubi->cdev.count
NO_OVERFLOW_SIMPLE 0 ubi->mtd->erasesize
NO_OVERFLOW_SIMPLE 0 ubi->peb_count
NO_OVERFLOW_SIMPLE 0 ubi->peb_size
NO_OVERFLOW_SIMPLE 0 ubi->vid_hdr_aloffset
LOCK2 global &ubi_devices_mutex

drivers/mtd/ubi/wl.c ubi_wl_flush() -> (struct ubi_work)->func()

Type Parameter Key Value
PARAM_VALUE 0 ubi 4096-ptr_max
PARAM_VALUE 0 ubi->fm_eba_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->fm_eba_sem.first_waiter->type 0-1
PARAM_VALUE 0 ubi->fm_protect.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->fm_protect.first_waiter->type 0-1
PARAM_VALUE 0 ubi->wl_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ubi->work_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->work_sem.first_waiter->type 0-1
PARAM_VALUE 1 wrk 4096-ptr_max
PARAM_VALUE 2 shutdown 0
CAPPED_DATA 0 &ubi->work_sem 1
CAPPED_DATA 0 &ubi->works 1
CAPPED_DATA 1 &wrk->list 1
DATA_SOURCE 0 ubi $0
CONTAINER 1 -16+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &ubi->work_sem
HALF_LOCKED2 0 &ubi->device_mutex
TYPE_LOCK (struct ubi_device)->work_sem