Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 11 files:

Smatch caller information:

drivers/usb/storage/realtek_cr.c rts51x_suspend_timer_fn() -> usb_autopm_put_interface_async()

Type Parameter Key Value
PARAM_VALUE 0 intf 4096-ptr_max
PARAM_VALUE 0 intf->dev.power.ignore_children 1
PARAM_VALUE 0 intf->dev.power.usage_count.counter 1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/usb/usbnet.c tx_complete() -> usb_autopm_put_interface_async()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/net/usb/usbnet.c usbnet_device_suggests_idle() -> usb_autopm_put_interface_async()

Type Parameter Key Value
PARAM_VALUE 0 intf 4096-ptr_max
PARAM_VALUE 0 intf->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 intf->needs_remote_wakeup 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/net/usb/usbnet.c usbnet_resume() -> usb_autopm_put_interface_async()

Type Parameter Key Value
PARAM_VALUE 0 intf->dev.power.wakeirq->status 0-4294967295
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->txq.lock
LOCK2 irq
TYPE_LOCK (struct sk_buff_head)->lock

drivers/net/usb/usbnet.c usbnet_start_xmit() -> usb_autopm_put_interface_async()

Type Parameter Key Value
PARAM_VALUE 0 intf 4096-ptr_max
PARAM_VALUE 0 intf->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 intf->dev.class 0,4096-ptr_max
PARAM_VALUE 0 intf->dev.power.request 0-4
PARAM_VALUE 0 intf->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 intf->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 intf->dev.type 0,4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->txq.lock
LOCK2 flags
HALF_LOCKED2 &net->tx_global_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct sk_buff_head)->lock

drivers/net/usb/usbnet.c usbnet_start_xmit() -> usb_autopm_put_interface_async()

Type Parameter Key Value
PARAM_VALUE 0 intf 4096-ptr_max
PARAM_VALUE 0 intf->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 intf->dev.class 0,4096-ptr_max
PARAM_VALUE 0 intf->dev.power.request 0-4
PARAM_VALUE 0 intf->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 intf->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 intf->dev.type 0,4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->txq.lock
LOCK2 flags
HALF_LOCKED2 &net->tx_global_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct sk_buff_head)->lock

drivers/net/usb/usbnet.c usbnet_start_xmit() -> usb_autopm_put_interface_async()

Type Parameter Key Value
PARAM_VALUE 0 intf 4096-ptr_max
PARAM_VALUE 0 intf->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 intf->dev.class 0,4096-ptr_max
PARAM_VALUE 0 intf->dev.power.request 0-4
PARAM_VALUE 0 intf->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 intf->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 intf->dev.type 0,4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->txq.lock
LOCK2 flags
HALF_LOCKED2 &net->tx_global_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct sk_buff_head)->lock

drivers/usb/core/hub.c hub_activate() -> usb_autopm_put_interface_async()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &hdev->dev.mutex

drivers/usb/core/hub.c hub_post_resume() -> usb_autopm_put_interface_async()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/usb/core/hub.c kick_hub_wq() -> usb_autopm_put_interface_async()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &xhci->lock
HALF_LOCKED2 global &device_state_lock
HALF_LOCKED2 global &hcd_root_hub_lock

drivers/usb/serial/usb_wwan.c usb_wwan_close() -> usb_autopm_put_interface_async()

Type Parameter Key Value
PARAM_VALUE 0 intf->dev.power.wakeirq->status 0-4294967295
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 _T->lock
HALF_LOCKED2 &tty->legacy_mutex
TYPE_LOCK (struct tty_struct)->legacy_mutex

drivers/usb/serial/usb_wwan.c usb_wwan_outdat_callback() -> usb_autopm_put_interface_async()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/usb/serial/usb_wwan.c usb_wwan_submit_delayed_urbs() -> usb_autopm_put_interface_async()

Type Parameter Key Value
PARAM_VALUE 0 intf->dev.power.wakeirq->status 0-4294967295
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &intfdata->susp_lock
LOCK2 irq
TYPE_LOCK (struct usb_wwan_intf_private)->susp_lock

drivers/usb/serial/usb_wwan.c usb_wwan_write() -> usb_autopm_put_interface_async()

Type Parameter Key Value
PARAM_VALUE 0 intf 4096-ptr_max
PARAM_VALUE 0 intf->dev.power.request 0-4
PARAM_VALUE 0 intf->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 intf->dev.power.wakeirq->status 0-4294967295
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags

drivers/net/usb/lan78xx.c lan78xx_tx_bh() -> usb_autopm_put_interface_async()

Type Parameter Key Value
PARAM_VALUE 0 intf 4096-ptr_max
PARAM_VALUE 0 intf->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 intf->dev.class 0,4096-ptr_max
PARAM_VALUE 0 intf->dev.power.request 0-4
PARAM_VALUE 0 intf->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 intf->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 intf->dev.type 0,4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->txq.lock
LOCK2 flags
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct sk_buff_head)->lock

drivers/net/usb/lan78xx.c lan78xx_tx_bh() -> usb_autopm_put_interface_async()

Type Parameter Key Value
PARAM_VALUE 0 intf 4096-ptr_max
PARAM_VALUE 0 intf->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 intf->dev.class 0,4096-ptr_max
PARAM_VALUE 0 intf->dev.power.request 0-4
PARAM_VALUE 0 intf->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 intf->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 intf->dev.type 0,4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->txq.lock
LOCK2 flags
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct sk_buff_head)->lock

drivers/net/usb/lan78xx.c tx_complete() -> usb_autopm_put_interface_async()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/net/usb/r8152.c r8152_tx_agg_fill() -> usb_autopm_put_interface_async()

Type Parameter Key Value
PARAM_VALUE 0 intf 4096-ptr_max
PARAM_VALUE 0 intf->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 intf->dev.class 0,4096-ptr_max
PARAM_VALUE 0 intf->dev.power.request 0-4
PARAM_VALUE 0 intf->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 intf->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 intf->dev.type 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh

drivers/net/usb/r8152.c write_bulk_callback() -> usb_autopm_put_interface_async()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/usb/class/cdc-acm.c acm_port_shutdown() -> usb_autopm_put_interface_async()

Type Parameter Key Value
PARAM_VALUE 0 intf 4096-ptr_max
PARAM_VALUE 0 intf->dev.power.runtime_status 0,2
PARAM_VALUE 0 intf->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 intf->needs_remote_wakeup 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 _T->lock
HALF_LOCKED2 &tty->legacy_mutex
TYPE_LOCK (struct tty_struct)->legacy_mutex

drivers/usb/class/cdc-acm.c acm_write_done() -> usb_autopm_put_interface_async()

Type Parameter Key Value
PARAM_VALUE 0 intf->dev.power.wakeirq->status 0-4294967295
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &acm->write_lock
HALF_LOCKED2 flags
TYPE_LOCK (struct acm)->write_lock

drivers/hid/usbhid/hid-core.c __usbhid_submit_report() -> usb_autopm_put_interface_async()

Type Parameter Key Value
PARAM_VALUE 0 intf->dev.power.wakeirq->status 0-4294967295
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &usbhid->lock
LOCK2 &usbhid->lock
LOCK2 flags
HALF_LOCKED2 &hid->driver_input_lock
HALF_LOCKED2 &hid->ll_open_lock
HALF_LOCKED2 &hiddev->existancelock
HALF_LOCKED2 &usbhid->mutex
TYPE_LOCK (struct usbhid_device)->lock

drivers/hid/usbhid/hid-core.c __usbhid_submit_report() -> usb_autopm_put_interface_async()

Type Parameter Key Value
PARAM_VALUE 0 intf->dev.power.wakeirq->status 0-4294967295
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &usbhid->lock
LOCK2 &usbhid->lock
LOCK2 flags
HALF_LOCKED2 &hid->driver_input_lock
HALF_LOCKED2 &hid->ll_open_lock
HALF_LOCKED2 &hiddev->existancelock
HALF_LOCKED2 &usbhid->mutex
TYPE_LOCK (struct usbhid_device)->lock

drivers/hid/usbhid/hid-core.c hid_ctrl() -> usb_autopm_put_interface_async()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/hid/usbhid/hid-core.c hid_irq_out() -> usb_autopm_put_interface_async()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/hid/usbhid/hid-core.c usbhid_restart_ctrl_queue() -> usb_autopm_put_interface_async()

Type Parameter Key Value
PARAM_VALUE 0 intf 4096-ptr_max
PARAM_VALUE 0 intf->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 intf->dev.class 0,4096-ptr_max
PARAM_VALUE 0 intf->dev.power.request 0-4
PARAM_VALUE 0 intf->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 intf->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 intf->dev.type 0,4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &usbhid->lock
HALF_LOCKED2 &usbhid->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct usbhid_device)->lock

drivers/hid/usbhid/hid-core.c usbhid_restart_out_queue() -> usb_autopm_put_interface_async()

Type Parameter Key Value
PARAM_VALUE 0 intf 4096-ptr_max
PARAM_VALUE 0 intf->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 intf->dev.class 0,4096-ptr_max
PARAM_VALUE 0 intf->dev.power.request 0-4
PARAM_VALUE 0 intf->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 intf->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 intf->dev.type 0,4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &usbhid->lock
HALF_LOCKED2 &usbhid->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct usbhid_device)->lock

drivers/usb/serial/sierra.c sierra_close() -> usb_autopm_put_interface_async()

Type Parameter Key Value
PARAM_VALUE 0 intf->dev.power.wakeirq->status 0-4294967295
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 _T->lock
HALF_LOCKED2 &tty->legacy_mutex
TYPE_LOCK (struct tty_struct)->legacy_mutex

drivers/usb/serial/sierra.c sierra_outdat_callback() -> usb_autopm_put_interface_async()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/usb/serial/sierra.c sierra_write() -> usb_autopm_put_interface_async()

Type Parameter Key Value
PARAM_VALUE 0 intf 4096-ptr_max
PARAM_VALUE 0 intf->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 intf->dev.class 0,4096-ptr_max
PARAM_VALUE 0 intf->dev.power.request 0-4
PARAM_VALUE 0 intf->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 intf->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 intf->dev.type 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags

drivers/usb/class/cdc-wdm.c wdm_wwan_port_tx_complete() -> usb_autopm_put_interface_async()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock