Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/usb/core/urb.c __usb_unanchor_urb() -> usb_anchor_check_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 anchor 1-u64max
CAPPED_DATA 0 anchor 1
DATA_SOURCE 0 anchor $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &anchor->lock
HALF_LOCKED2 &data->io_mutex
HALF_LOCKED2 flags
TYPE_LOCK (struct usb_anchor)->lock

drivers/usb/core/urb.c usb_anchor_resume_wakeups() -> usb_anchor_check_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 anchor 4096-ptr_max
DATA_SOURCE 0 anchor $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/usb/core/urb.c usb_kill_anchored_urbs() -> usb_anchor_check_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 anchor 4096-ptr_max
DATA_SOURCE 0 anchor $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq
LOCK2 0 &anchor->lock
HALF_LOCKED2 &c->start_mutex
HALF_LOCKED2 &data->io_mutex
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &file_data->limit_write_sem
HALF_LOCKED2 &hdev->req_lock
HALF_LOCKED2 &mdev->io_mutex
HALF_LOCKED2 &ndev->req_lock
HALF_LOCKED2 &priv->conf_mutex
HALF_LOCKED2 &priv->mutex
HALF_LOCKED2 &rtlpriv->locks.conf_mutex
HALF_LOCKED2 &udev->dev.mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct usb_anchor)->lock

drivers/usb/core/urb.c usb_poison_anchored_urbs() -> usb_anchor_check_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 anchor 4096-ptr_max
CAPPED_DATA 0 &anchor->urb_list 1
DATA_SOURCE 0 anchor $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq
LOCK2 0 &anchor->lock
HALF_LOCKED2 global &usblp_mutex
TYPE_LOCK (struct usb_anchor)->lock

drivers/usb/core/urb.c usb_scuttle_anchored_urbs() -> usb_anchor_check_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 anchor 4096-ptr_max
CAPPED_DATA 0 &anchor->urb_list 1
DATA_SOURCE 0 anchor $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
LOCK2 0 &anchor->lock
HALF_LOCKED2 &data->io_mutex
HALF_LOCKED2 &hdev->req_lock
HALF_LOCKED2 &ndev->req_lock
TYPE_LOCK (struct usb_anchor)->lock

drivers/usb/core/urb.c usb_wait_anchor_empty_timeout() -> usb_anchor_check_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 anchor 4096-ptr_max
DATA_SOURCE 0 anchor $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &data->io_mutex
HALF_LOCKED2 _T->lock

drivers/usb/core/urb.c usb_wait_anchor_empty_timeout() -> usb_anchor_check_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 anchor 4096-ptr_max
DATA_SOURCE 0 anchor $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &data->io_mutex
HALF_LOCKED2 _T->lock

drivers/usb/core/urb.c usb_wait_anchor_empty_timeout() -> usb_anchor_check_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 anchor 4096-ptr_max
DATA_SOURCE 0 anchor $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &data->io_mutex
HALF_LOCKED2 _T->lock