Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/usb/host/xhci.c xhci_discover_or_reset_device() -> xhci_alloc_dev()

Type Parameter Key Value
PARAM_VALUE 0 hcd 4096-ptr_max
PARAM_VALUE 0 hcd->driver 4096-ptr_max
PARAM_VALUE 0 hcd->driver->reset_device 1-u64max
PARAM_VALUE 1 udev 4096-ptr_max
PARAM_VALUE 1 udev->dev.kobj.release.wq->dfl_pwq 0-s64max
PARAM_VALUE 1 udev->dev.kobj.release.wq->saved_max_active s32min-s32max
PARAM_VALUE 1 udev->dev.kobj.release.wq->saved_min_active s32min-s32max
PARAM_VALUE 1 udev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 1 udev->parent 1-u64max
PARAM_VALUE 1 *udev->toggle 0-4294967295
CAPPED_DATA 0 hcd 1
CAPPED_DATA 0 hcd->primary_hcd 1
CAPPED_DATA 1 udev 1
DATA_SOURCE 0 hcd $0
DATA_SOURCE 1 udev $1
PARAM_COMPARE 0 hcd >= $0->primary_hcd
PARAM_COMPARE 0 hcd >= $0->primary_hcd
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &hdev->dev.mutex
HALF_LOCKED2 &port_dev->status_lock
HALF_LOCKED2 1 &udev->dev.mutex

drivers/usb/host/xhci.c xhci_discover_or_reset_device() -> xhci_alloc_dev()

Type Parameter Key Value
PARAM_VALUE 0 hcd 4096-ptr_max
PARAM_VALUE 0 hcd->driver 4096-ptr_max
PARAM_VALUE 0 hcd->driver->reset_device 1-u64max
PARAM_VALUE 1 udev 4096-ptr_max
PARAM_VALUE 1 udev->dev.kobj.release.wq->dfl_pwq 0-s64max
PARAM_VALUE 1 udev->dev.kobj.release.wq->saved_max_active s32min-s32max
PARAM_VALUE 1 udev->dev.kobj.release.wq->saved_min_active s32min-s32max
PARAM_VALUE 1 udev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 1 udev->parent 1-u64max
PARAM_VALUE 1 *udev->toggle 0-4294967295
CAPPED_DATA 0 hcd 1
CAPPED_DATA 0 hcd->primary_hcd 1
CAPPED_DATA 1 udev 1
DATA_SOURCE 0 hcd $0
DATA_SOURCE 1 udev $1
PARAM_COMPARE 0 hcd >= $0->primary_hcd
PARAM_COMPARE 0 hcd >= $0->primary_hcd
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &hdev->dev.mutex
HALF_LOCKED2 &port_dev->status_lock
HALF_LOCKED2 1 &udev->dev.mutex

drivers/usb/host/xhci.c xhci_discover_or_reset_device() -> xhci_alloc_dev()

Type Parameter Key Value
PARAM_VALUE 0 hcd 4096-ptr_max
PARAM_VALUE 0 hcd->driver 4096-ptr_max
PARAM_VALUE 0 hcd->driver->reset_device 1-u64max
PARAM_VALUE 1 udev 4096-ptr_max
PARAM_VALUE 1 udev->dev.kobj.release.wq->dfl_pwq 0-s64max
PARAM_VALUE 1 udev->dev.kobj.release.wq->saved_max_active s32min-s32max
PARAM_VALUE 1 udev->dev.kobj.release.wq->saved_min_active s32min-s32max
PARAM_VALUE 1 udev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 1 udev->parent 1-u64max
PARAM_VALUE 1 *udev->toggle 0-4294967295
CAPPED_DATA 0 hcd 1
CAPPED_DATA 0 hcd->primary_hcd 1
CAPPED_DATA 1 udev 1
DATA_SOURCE 0 hcd $0
DATA_SOURCE 1 udev $1
PARAM_COMPARE 0 hcd >= $0->primary_hcd
PARAM_COMPARE 0 hcd >= $0->primary_hcd
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &hdev->dev.mutex
HALF_LOCKED2 &port_dev->status_lock
HALF_LOCKED2 1 &udev->dev.mutex

drivers/usb/host/xhci.c xhci_setup_device() -> xhci_alloc_dev()

Type Parameter Key Value
PARAM_VALUE 0 hcd 4096-ptr_max
PARAM_VALUE 0 hcd->driver 4096-ptr_max
PARAM_VALUE 1 udev 4096-ptr_max
PARAM_VALUE 1 udev->dev.bus 0,4096-ptr_max
PARAM_VALUE 1 udev->dev.class 0,4096-ptr_max
PARAM_VALUE 1 udev->dev.driver 0,4096-ptr_max
PARAM_VALUE 1 udev->dev.power.wakeirq->status 0-4294967295
BUF_SIZE 1 udev (-1),2344
BUF_SIZE 1 udev (-1),2344
CAPPED_DATA 0 hcd 1
CAPPED_DATA 0 hcd->primary_hcd 1
DATA_SOURCE 0 hcd $0
DATA_SOURCE 1 udev $1
PARAM_COMPARE 0 hcd >= $0->primary_hcd
PARAM_COMPARE 0 hcd >= $0->primary_hcd
RX_PATH
TASK_NOT_RUNNING

drivers/usb/core/usb.c usb_alloc_dev() -> (struct hc_driver)->alloc_dev()

Type Parameter Key Value
PARAM_VALUE 0 hcd 4096-ptr_max
PARAM_VALUE 0 hcd->driver 4096-ptr_max
PARAM_VALUE 0 hcd->driver->alloc_dev 1-u64max
PARAM_VALUE 1 udev 4096-ptr_max
BUF_SIZE 1 udev 2344
DATA_SOURCE 0 hcd r bus_to_hcd
DATA_SOURCE 1 udev r _kzalloc_noprof
CONTAINER 0 -224-568+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &hdev->dev.mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &port_dev->status_lock
HALF_LOCKED2 hcd->address0_mutex