usbhid 248 drivers/hid/hid-u2fzero.c struct usbhid_device *usbhid = hdev->driver_data; usbhid 257 drivers/hid/hid-u2fzero.c if (!usbhid->urbout || !usbhid->urbin) usbhid 260 drivers/hid/hid-u2fzero.c ep = usb_pipe_endpoint(udev, usbhid->urbin->pipe); usbhid 268 drivers/hid/hid-u2fzero.c pipe_in = (usbhid->urbin->pipe & ~(3 << 30)) | (PIPE_INTERRUPT << 30); usbhid 77 drivers/hid/usbhid/hid-core.c static void hid_cancel_delayed_stuff(struct usbhid_device *usbhid); usbhid 84 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 86 drivers/hid/usbhid/hid-core.c spin_lock_irqsave(&usbhid->lock, flags); usbhid 87 drivers/hid/usbhid/hid-core.c if (test_bit(HID_IN_POLLING, &usbhid->iofl) && usbhid 88 drivers/hid/usbhid/hid-core.c !test_bit(HID_DISCONNECTED, &usbhid->iofl) && usbhid 89 drivers/hid/usbhid/hid-core.c !test_bit(HID_SUSPENDED, &usbhid->iofl) && usbhid 90 drivers/hid/usbhid/hid-core.c !test_and_set_bit(HID_IN_RUNNING, &usbhid->iofl)) { usbhid 91 drivers/hid/usbhid/hid-core.c rc = usb_submit_urb(usbhid->urbin, GFP_ATOMIC); usbhid 93 drivers/hid/usbhid/hid-core.c clear_bit(HID_IN_RUNNING, &usbhid->iofl); usbhid 95 drivers/hid/usbhid/hid-core.c set_bit(HID_NO_BANDWIDTH, &usbhid->iofl); usbhid 97 drivers/hid/usbhid/hid-core.c clear_bit(HID_NO_BANDWIDTH, &usbhid->iofl); usbhid 100 drivers/hid/usbhid/hid-core.c spin_unlock_irqrestore(&usbhid->lock, flags); usbhid 107 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = from_timer(usbhid, t, io_retry); usbhid 108 drivers/hid/usbhid/hid-core.c struct hid_device *hid = usbhid->hid; usbhid 110 drivers/hid/usbhid/hid-core.c dev_dbg(&usbhid->intf->dev, "retrying intr urb\n"); usbhid 118 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = usbhid 120 drivers/hid/usbhid/hid-core.c struct hid_device *hid = usbhid->hid; usbhid 123 drivers/hid/usbhid/hid-core.c if (test_bit(HID_CLEAR_HALT, &usbhid->iofl)) { usbhid 124 drivers/hid/usbhid/hid-core.c dev_dbg(&usbhid->intf->dev, "clear halt\n"); usbhid 125 drivers/hid/usbhid/hid-core.c rc = usb_clear_halt(hid_to_usb_dev(hid), usbhid->urbin->pipe); usbhid 126 drivers/hid/usbhid/hid-core.c clear_bit(HID_CLEAR_HALT, &usbhid->iofl); usbhid 130 drivers/hid/usbhid/hid-core.c dev_dbg(&usbhid->intf->dev, usbhid 132 drivers/hid/usbhid/hid-core.c set_bit(HID_RESET_PENDING, &usbhid->iofl); usbhid 136 drivers/hid/usbhid/hid-core.c if (test_bit(HID_RESET_PENDING, &usbhid->iofl)) { usbhid 137 drivers/hid/usbhid/hid-core.c dev_dbg(&usbhid->intf->dev, "resetting device\n"); usbhid 138 drivers/hid/usbhid/hid-core.c usb_queue_reset_device(usbhid->intf); usbhid 146 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 148 drivers/hid/usbhid/hid-core.c spin_lock_irqsave(&usbhid->lock, flags); usbhid 151 drivers/hid/usbhid/hid-core.c if (test_bit(HID_DISCONNECTED, &usbhid->iofl)) usbhid 156 drivers/hid/usbhid/hid-core.c if (time_after(jiffies, usbhid->stop_retry + HZ/2)) usbhid 157 drivers/hid/usbhid/hid-core.c usbhid->retry_delay = 0; usbhid 160 drivers/hid/usbhid/hid-core.c if (usbhid->retry_delay == 0) { usbhid 161 drivers/hid/usbhid/hid-core.c usbhid->retry_delay = 13; /* Then 26, 52, 104, 104, ... */ usbhid 162 drivers/hid/usbhid/hid-core.c usbhid->stop_retry = jiffies + msecs_to_jiffies(1000); usbhid 163 drivers/hid/usbhid/hid-core.c } else if (usbhid->retry_delay < 100) usbhid 164 drivers/hid/usbhid/hid-core.c usbhid->retry_delay *= 2; usbhid 166 drivers/hid/usbhid/hid-core.c if (time_after(jiffies, usbhid->stop_retry)) { usbhid 169 drivers/hid/usbhid/hid-core.c if (!test_bit(HID_NO_BANDWIDTH, &usbhid->iofl) usbhid 170 drivers/hid/usbhid/hid-core.c && !test_and_set_bit(HID_RESET_PENDING, &usbhid->iofl)) { usbhid 172 drivers/hid/usbhid/hid-core.c schedule_work(&usbhid->reset_work); usbhid 177 drivers/hid/usbhid/hid-core.c mod_timer(&usbhid->io_retry, usbhid 178 drivers/hid/usbhid/hid-core.c jiffies + msecs_to_jiffies(usbhid->retry_delay)); usbhid 180 drivers/hid/usbhid/hid-core.c spin_unlock_irqrestore(&usbhid->lock, flags); usbhid 183 drivers/hid/usbhid/hid-core.c static void usbhid_mark_busy(struct usbhid_device *usbhid) usbhid 185 drivers/hid/usbhid/hid-core.c struct usb_interface *intf = usbhid->intf; usbhid 190 drivers/hid/usbhid/hid-core.c static int usbhid_restart_out_queue(struct usbhid_device *usbhid) usbhid 192 drivers/hid/usbhid/hid-core.c struct hid_device *hid = usb_get_intfdata(usbhid->intf); usbhid 196 drivers/hid/usbhid/hid-core.c if (!hid || test_bit(HID_RESET_PENDING, &usbhid->iofl) || usbhid 197 drivers/hid/usbhid/hid-core.c test_bit(HID_SUSPENDED, &usbhid->iofl)) usbhid 200 drivers/hid/usbhid/hid-core.c if ((kicked = (usbhid->outhead != usbhid->outtail))) { usbhid 201 drivers/hid/usbhid/hid-core.c hid_dbg(hid, "Kicking head %d tail %d", usbhid->outhead, usbhid->outtail); usbhid 204 drivers/hid/usbhid/hid-core.c r = usb_autopm_get_interface_async(usbhid->intf); usbhid 212 drivers/hid/usbhid/hid-core.c if (test_bit(HID_SUSPENDED, &usbhid->iofl)) { usbhid 213 drivers/hid/usbhid/hid-core.c usb_autopm_put_interface_no_suspend(usbhid->intf); usbhid 218 drivers/hid/usbhid/hid-core.c set_bit(HID_OUT_RUNNING, &usbhid->iofl); usbhid 220 drivers/hid/usbhid/hid-core.c clear_bit(HID_OUT_RUNNING, &usbhid->iofl); usbhid 221 drivers/hid/usbhid/hid-core.c usb_autopm_put_interface_async(usbhid->intf); usbhid 223 drivers/hid/usbhid/hid-core.c wake_up(&usbhid->wait); usbhid 228 drivers/hid/usbhid/hid-core.c static int usbhid_restart_ctrl_queue(struct usbhid_device *usbhid) usbhid 230 drivers/hid/usbhid/hid-core.c struct hid_device *hid = usb_get_intfdata(usbhid->intf); usbhid 235 drivers/hid/usbhid/hid-core.c if (!hid || test_bit(HID_RESET_PENDING, &usbhid->iofl) || usbhid 236 drivers/hid/usbhid/hid-core.c test_bit(HID_SUSPENDED, &usbhid->iofl)) usbhid 239 drivers/hid/usbhid/hid-core.c if ((kicked = (usbhid->ctrlhead != usbhid->ctrltail))) { usbhid 240 drivers/hid/usbhid/hid-core.c hid_dbg(hid, "Kicking head %d tail %d", usbhid->ctrlhead, usbhid->ctrltail); usbhid 243 drivers/hid/usbhid/hid-core.c r = usb_autopm_get_interface_async(usbhid->intf); usbhid 251 drivers/hid/usbhid/hid-core.c if (test_bit(HID_SUSPENDED, &usbhid->iofl)) { usbhid 252 drivers/hid/usbhid/hid-core.c usb_autopm_put_interface_no_suspend(usbhid->intf); usbhid 257 drivers/hid/usbhid/hid-core.c set_bit(HID_CTRL_RUNNING, &usbhid->iofl); usbhid 259 drivers/hid/usbhid/hid-core.c clear_bit(HID_CTRL_RUNNING, &usbhid->iofl); usbhid 260 drivers/hid/usbhid/hid-core.c usb_autopm_put_interface_async(usbhid->intf); usbhid 262 drivers/hid/usbhid/hid-core.c wake_up(&usbhid->wait); usbhid 274 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 279 drivers/hid/usbhid/hid-core.c usbhid->retry_delay = 0; usbhid 280 drivers/hid/usbhid/hid-core.c if (!test_bit(HID_OPENED, &usbhid->iofl)) usbhid 282 drivers/hid/usbhid/hid-core.c usbhid_mark_busy(usbhid); usbhid 283 drivers/hid/usbhid/hid-core.c if (!test_bit(HID_RESUME_RUNNING, &usbhid->iofl)) { usbhid 293 drivers/hid/usbhid/hid-core.c set_bit(HID_KEYS_PRESSED, &usbhid->iofl); usbhid 295 drivers/hid/usbhid/hid-core.c clear_bit(HID_KEYS_PRESSED, &usbhid->iofl); usbhid 299 drivers/hid/usbhid/hid-core.c usbhid_mark_busy(usbhid); usbhid 300 drivers/hid/usbhid/hid-core.c clear_bit(HID_IN_RUNNING, &usbhid->iofl); usbhid 301 drivers/hid/usbhid/hid-core.c set_bit(HID_CLEAR_HALT, &usbhid->iofl); usbhid 302 drivers/hid/usbhid/hid-core.c schedule_work(&usbhid->reset_work); usbhid 307 drivers/hid/usbhid/hid-core.c clear_bit(HID_IN_RUNNING, &usbhid->iofl); usbhid 313 drivers/hid/usbhid/hid-core.c usbhid_mark_busy(usbhid); usbhid 314 drivers/hid/usbhid/hid-core.c clear_bit(HID_IN_RUNNING, &usbhid->iofl); usbhid 324 drivers/hid/usbhid/hid-core.c clear_bit(HID_IN_RUNNING, &usbhid->iofl); usbhid 329 drivers/hid/usbhid/hid-core.c usbhid->ifnum, status); usbhid 339 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 342 drivers/hid/usbhid/hid-core.c report = usbhid->out[usbhid->outtail].report; usbhid 343 drivers/hid/usbhid/hid-core.c raw_report = usbhid->out[usbhid->outtail].raw_report; usbhid 345 drivers/hid/usbhid/hid-core.c usbhid->urbout->transfer_buffer_length = hid_report_len(report); usbhid 346 drivers/hid/usbhid/hid-core.c usbhid->urbout->dev = hid_to_usb_dev(hid); usbhid 348 drivers/hid/usbhid/hid-core.c memcpy(usbhid->outbuf, raw_report, usbhid 349 drivers/hid/usbhid/hid-core.c usbhid->urbout->transfer_buffer_length); usbhid 351 drivers/hid/usbhid/hid-core.c usbhid->out[usbhid->outtail].raw_report = NULL; usbhid 356 drivers/hid/usbhid/hid-core.c r = usb_submit_urb(usbhid->urbout, GFP_ATOMIC); usbhid 361 drivers/hid/usbhid/hid-core.c usbhid->last_out = jiffies; usbhid 371 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 373 drivers/hid/usbhid/hid-core.c report = usbhid->ctrl[usbhid->ctrltail].report; usbhid 374 drivers/hid/usbhid/hid-core.c raw_report = usbhid->ctrl[usbhid->ctrltail].raw_report; usbhid 375 drivers/hid/usbhid/hid-core.c dir = usbhid->ctrl[usbhid->ctrltail].dir; usbhid 379 drivers/hid/usbhid/hid-core.c usbhid->urbctrl->pipe = usb_sndctrlpipe(hid_to_usb_dev(hid), 0); usbhid 380 drivers/hid/usbhid/hid-core.c usbhid->urbctrl->transfer_buffer_length = len; usbhid 382 drivers/hid/usbhid/hid-core.c memcpy(usbhid->ctrlbuf, raw_report, len); usbhid 384 drivers/hid/usbhid/hid-core.c usbhid->ctrl[usbhid->ctrltail].raw_report = NULL; usbhid 389 drivers/hid/usbhid/hid-core.c usbhid->urbctrl->pipe = usb_rcvctrlpipe(hid_to_usb_dev(hid), 0); usbhid 391 drivers/hid/usbhid/hid-core.c usbhid->urbctrl->pipe, 0); usbhid 395 drivers/hid/usbhid/hid-core.c if (padlen > usbhid->bufsize) usbhid 396 drivers/hid/usbhid/hid-core.c padlen = usbhid->bufsize; usbhid 399 drivers/hid/usbhid/hid-core.c usbhid->urbctrl->transfer_buffer_length = padlen; usbhid 401 drivers/hid/usbhid/hid-core.c usbhid->urbctrl->dev = hid_to_usb_dev(hid); usbhid 403 drivers/hid/usbhid/hid-core.c usbhid->cr->bRequestType = USB_TYPE_CLASS | USB_RECIP_INTERFACE | dir; usbhid 404 drivers/hid/usbhid/hid-core.c usbhid->cr->bRequest = (dir == USB_DIR_OUT) ? HID_REQ_SET_REPORT : usbhid 406 drivers/hid/usbhid/hid-core.c usbhid->cr->wValue = cpu_to_le16(((report->type + 1) << 8) | usbhid 408 drivers/hid/usbhid/hid-core.c usbhid->cr->wIndex = cpu_to_le16(usbhid->ifnum); usbhid 409 drivers/hid/usbhid/hid-core.c usbhid->cr->wLength = cpu_to_le16(len); usbhid 412 drivers/hid/usbhid/hid-core.c usbhid->cr->bRequest == HID_REQ_SET_REPORT ? "Set_Report" : usbhid 414 drivers/hid/usbhid/hid-core.c usbhid->cr->wValue, usbhid->cr->wIndex, usbhid->cr->wLength); usbhid 416 drivers/hid/usbhid/hid-core.c r = usb_submit_urb(usbhid->urbctrl, GFP_ATOMIC); usbhid 421 drivers/hid/usbhid/hid-core.c usbhid->last_ctrl = jiffies; usbhid 432 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 451 drivers/hid/usbhid/hid-core.c spin_lock_irqsave(&usbhid->lock, flags); usbhid 454 drivers/hid/usbhid/hid-core.c usbhid->outtail = usbhid->outhead; usbhid 456 drivers/hid/usbhid/hid-core.c usbhid->outtail = (usbhid->outtail + 1) & (HID_OUTPUT_FIFO_SIZE - 1); usbhid 458 drivers/hid/usbhid/hid-core.c if (usbhid->outhead != usbhid->outtail && usbhid 461 drivers/hid/usbhid/hid-core.c spin_unlock_irqrestore(&usbhid->lock, flags); usbhid 466 drivers/hid/usbhid/hid-core.c clear_bit(HID_OUT_RUNNING, &usbhid->iofl); usbhid 467 drivers/hid/usbhid/hid-core.c spin_unlock_irqrestore(&usbhid->lock, flags); usbhid 468 drivers/hid/usbhid/hid-core.c usb_autopm_put_interface_async(usbhid->intf); usbhid 469 drivers/hid/usbhid/hid-core.c wake_up(&usbhid->wait); usbhid 479 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 485 drivers/hid/usbhid/hid-core.c if (usbhid->ctrl[usbhid->ctrltail].dir == USB_DIR_IN) usbhid 487 drivers/hid/usbhid/hid-core.c usbhid->ctrl[usbhid->ctrltail].report->type, usbhid 502 drivers/hid/usbhid/hid-core.c spin_lock_irqsave(&usbhid->lock, flags); usbhid 505 drivers/hid/usbhid/hid-core.c usbhid->ctrltail = usbhid->ctrlhead; usbhid 507 drivers/hid/usbhid/hid-core.c usbhid->ctrltail = (usbhid->ctrltail + 1) & (HID_CONTROL_FIFO_SIZE - 1); usbhid 509 drivers/hid/usbhid/hid-core.c if (usbhid->ctrlhead != usbhid->ctrltail && usbhid 512 drivers/hid/usbhid/hid-core.c spin_unlock_irqrestore(&usbhid->lock, flags); usbhid 517 drivers/hid/usbhid/hid-core.c clear_bit(HID_CTRL_RUNNING, &usbhid->iofl); usbhid 518 drivers/hid/usbhid/hid-core.c spin_unlock_irqrestore(&usbhid->lock, flags); usbhid 519 drivers/hid/usbhid/hid-core.c usb_autopm_put_interface_async(usbhid->intf); usbhid 520 drivers/hid/usbhid/hid-core.c wake_up(&usbhid->wait); usbhid 527 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 530 drivers/hid/usbhid/hid-core.c test_bit(HID_DISCONNECTED, &usbhid->iofl)) usbhid 533 drivers/hid/usbhid/hid-core.c if (usbhid->urbout && dir == USB_DIR_OUT && report->type == HID_OUTPUT_REPORT) { usbhid 534 drivers/hid/usbhid/hid-core.c if ((head = (usbhid->outhead + 1) & (HID_OUTPUT_FIFO_SIZE - 1)) == usbhid->outtail) { usbhid 539 drivers/hid/usbhid/hid-core.c usbhid->out[usbhid->outhead].raw_report = hid_alloc_report_buf(report, GFP_ATOMIC); usbhid 540 drivers/hid/usbhid/hid-core.c if (!usbhid->out[usbhid->outhead].raw_report) { usbhid 544 drivers/hid/usbhid/hid-core.c hid_output_report(report, usbhid->out[usbhid->outhead].raw_report); usbhid 545 drivers/hid/usbhid/hid-core.c usbhid->out[usbhid->outhead].report = report; usbhid 546 drivers/hid/usbhid/hid-core.c usbhid->outhead = head; usbhid 549 drivers/hid/usbhid/hid-core.c if (!test_bit(HID_OUT_RUNNING, &usbhid->iofl)) { usbhid 550 drivers/hid/usbhid/hid-core.c usbhid_restart_out_queue(usbhid); usbhid 553 drivers/hid/usbhid/hid-core.c } else if (time_after(jiffies, usbhid->last_out + HZ * 5)) { usbhid 556 drivers/hid/usbhid/hid-core.c usb_autopm_get_interface_no_resume(usbhid->intf); usbhid 563 drivers/hid/usbhid/hid-core.c usb_block_urb(usbhid->urbout); usbhid 566 drivers/hid/usbhid/hid-core.c spin_unlock(&usbhid->lock); usbhid 568 drivers/hid/usbhid/hid-core.c usb_unlink_urb(usbhid->urbout); usbhid 569 drivers/hid/usbhid/hid-core.c spin_lock(&usbhid->lock); usbhid 570 drivers/hid/usbhid/hid-core.c usb_unblock_urb(usbhid->urbout); usbhid 573 drivers/hid/usbhid/hid-core.c if (!test_bit(HID_OUT_RUNNING, &usbhid->iofl)) usbhid 574 drivers/hid/usbhid/hid-core.c usbhid_restart_out_queue(usbhid); usbhid 577 drivers/hid/usbhid/hid-core.c usb_autopm_put_interface_async(usbhid->intf); usbhid 582 drivers/hid/usbhid/hid-core.c if ((head = (usbhid->ctrlhead + 1) & (HID_CONTROL_FIFO_SIZE - 1)) == usbhid->ctrltail) { usbhid 588 drivers/hid/usbhid/hid-core.c usbhid->ctrl[usbhid->ctrlhead].raw_report = hid_alloc_report_buf(report, GFP_ATOMIC); usbhid 589 drivers/hid/usbhid/hid-core.c if (!usbhid->ctrl[usbhid->ctrlhead].raw_report) { usbhid 593 drivers/hid/usbhid/hid-core.c hid_output_report(report, usbhid->ctrl[usbhid->ctrlhead].raw_report); usbhid 595 drivers/hid/usbhid/hid-core.c usbhid->ctrl[usbhid->ctrlhead].report = report; usbhid 596 drivers/hid/usbhid/hid-core.c usbhid->ctrl[usbhid->ctrlhead].dir = dir; usbhid 597 drivers/hid/usbhid/hid-core.c usbhid->ctrlhead = head; usbhid 600 drivers/hid/usbhid/hid-core.c if (!test_bit(HID_CTRL_RUNNING, &usbhid->iofl)) { usbhid 601 drivers/hid/usbhid/hid-core.c usbhid_restart_ctrl_queue(usbhid); usbhid 604 drivers/hid/usbhid/hid-core.c } else if (time_after(jiffies, usbhid->last_ctrl + HZ * 5)) { usbhid 607 drivers/hid/usbhid/hid-core.c usb_autopm_get_interface_no_resume(usbhid->intf); usbhid 614 drivers/hid/usbhid/hid-core.c usb_block_urb(usbhid->urbctrl); usbhid 617 drivers/hid/usbhid/hid-core.c spin_unlock(&usbhid->lock); usbhid 619 drivers/hid/usbhid/hid-core.c usb_unlink_urb(usbhid->urbctrl); usbhid 620 drivers/hid/usbhid/hid-core.c spin_lock(&usbhid->lock); usbhid 621 drivers/hid/usbhid/hid-core.c usb_unblock_urb(usbhid->urbctrl); usbhid 624 drivers/hid/usbhid/hid-core.c if (!test_bit(HID_CTRL_RUNNING, &usbhid->iofl)) usbhid 625 drivers/hid/usbhid/hid-core.c usbhid_restart_ctrl_queue(usbhid); usbhid 628 drivers/hid/usbhid/hid-core.c usb_autopm_put_interface_async(usbhid->intf); usbhid 634 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 637 drivers/hid/usbhid/hid-core.c spin_lock_irqsave(&usbhid->lock, flags); usbhid 639 drivers/hid/usbhid/hid-core.c spin_unlock_irqrestore(&usbhid->lock, flags); usbhid 644 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 646 drivers/hid/usbhid/hid-core.c if (!wait_event_timeout(usbhid->wait, usbhid 647 drivers/hid/usbhid/hid-core.c (!test_bit(HID_CTRL_RUNNING, &usbhid->iofl) && usbhid 648 drivers/hid/usbhid/hid-core.c !test_bit(HID_OUT_RUNNING, &usbhid->iofl)), usbhid 682 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 685 drivers/hid/usbhid/hid-core.c mutex_lock(&usbhid->mutex); usbhid 687 drivers/hid/usbhid/hid-core.c set_bit(HID_OPENED, &usbhid->iofl); usbhid 694 drivers/hid/usbhid/hid-core.c res = usb_autopm_get_interface(usbhid->intf); usbhid 697 drivers/hid/usbhid/hid-core.c clear_bit(HID_OPENED, &usbhid->iofl); usbhid 702 drivers/hid/usbhid/hid-core.c usbhid->intf->needs_remote_wakeup = 1; usbhid 704 drivers/hid/usbhid/hid-core.c set_bit(HID_RESUME_RUNNING, &usbhid->iofl); usbhid 705 drivers/hid/usbhid/hid-core.c set_bit(HID_IN_POLLING, &usbhid->iofl); usbhid 715 drivers/hid/usbhid/hid-core.c clear_bit(HID_OPENED, &usbhid->iofl); usbhid 716 drivers/hid/usbhid/hid-core.c clear_bit(HID_IN_POLLING, &usbhid->iofl); usbhid 717 drivers/hid/usbhid/hid-core.c usbhid->intf->needs_remote_wakeup = 0; usbhid 721 drivers/hid/usbhid/hid-core.c usb_autopm_put_interface(usbhid->intf); usbhid 732 drivers/hid/usbhid/hid-core.c clear_bit(HID_RESUME_RUNNING, &usbhid->iofl); usbhid 735 drivers/hid/usbhid/hid-core.c mutex_unlock(&usbhid->mutex); usbhid 741 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 743 drivers/hid/usbhid/hid-core.c mutex_lock(&usbhid->mutex); usbhid 750 drivers/hid/usbhid/hid-core.c spin_lock_irq(&usbhid->lock); usbhid 751 drivers/hid/usbhid/hid-core.c clear_bit(HID_OPENED, &usbhid->iofl); usbhid 753 drivers/hid/usbhid/hid-core.c clear_bit(HID_IN_POLLING, &usbhid->iofl); usbhid 754 drivers/hid/usbhid/hid-core.c spin_unlock_irq(&usbhid->lock); usbhid 757 drivers/hid/usbhid/hid-core.c hid_cancel_delayed_stuff(usbhid); usbhid 758 drivers/hid/usbhid/hid-core.c usb_kill_urb(usbhid->urbin); usbhid 759 drivers/hid/usbhid/hid-core.c usbhid->intf->needs_remote_wakeup = 0; usbhid 762 drivers/hid/usbhid/hid-core.c mutex_unlock(&usbhid->mutex); usbhid 772 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 788 drivers/hid/usbhid/hid-core.c if (test_bit(HID_CTRL_RUNNING, &usbhid->iofl)) usbhid 789 drivers/hid/usbhid/hid-core.c usb_kill_urb(usbhid->urbctrl); usbhid 790 drivers/hid/usbhid/hid-core.c if (test_bit(HID_OUT_RUNNING, &usbhid->iofl)) usbhid 791 drivers/hid/usbhid/hid-core.c usb_kill_urb(usbhid->urbout); usbhid 855 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 857 drivers/hid/usbhid/hid-core.c usbhid->inbuf = usb_alloc_coherent(dev, usbhid->bufsize, GFP_KERNEL, usbhid 858 drivers/hid/usbhid/hid-core.c &usbhid->inbuf_dma); usbhid 859 drivers/hid/usbhid/hid-core.c usbhid->outbuf = usb_alloc_coherent(dev, usbhid->bufsize, GFP_KERNEL, usbhid 860 drivers/hid/usbhid/hid-core.c &usbhid->outbuf_dma); usbhid 861 drivers/hid/usbhid/hid-core.c usbhid->cr = kmalloc(sizeof(*usbhid->cr), GFP_KERNEL); usbhid 862 drivers/hid/usbhid/hid-core.c usbhid->ctrlbuf = usb_alloc_coherent(dev, usbhid->bufsize, GFP_KERNEL, usbhid 863 drivers/hid/usbhid/hid-core.c &usbhid->ctrlbuf_dma); usbhid 864 drivers/hid/usbhid/hid-core.c if (!usbhid->inbuf || !usbhid->outbuf || !usbhid->cr || usbhid 865 drivers/hid/usbhid/hid-core.c !usbhid->ctrlbuf) usbhid 875 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 877 drivers/hid/usbhid/hid-core.c struct usb_interface *intf = usbhid->intf; usbhid 908 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 910 drivers/hid/usbhid/hid-core.c struct usb_interface *intf = usbhid->intf; usbhid 943 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 947 drivers/hid/usbhid/hid-core.c if (!usbhid->urbout) usbhid 957 drivers/hid/usbhid/hid-core.c ret = usb_interrupt_msg(dev, usbhid->urbout->pipe, usbhid 973 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 975 drivers/hid/usbhid/hid-core.c usb_free_coherent(dev, usbhid->bufsize, usbhid->inbuf, usbhid->inbuf_dma); usbhid 976 drivers/hid/usbhid/hid-core.c usb_free_coherent(dev, usbhid->bufsize, usbhid->outbuf, usbhid->outbuf_dma); usbhid 977 drivers/hid/usbhid/hid-core.c kfree(usbhid->cr); usbhid 978 drivers/hid/usbhid/hid-core.c usb_free_coherent(dev, usbhid->bufsize, usbhid->ctrlbuf, usbhid->ctrlbuf_dma); usbhid 1067 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 1071 drivers/hid/usbhid/hid-core.c mutex_lock(&usbhid->mutex); usbhid 1073 drivers/hid/usbhid/hid-core.c clear_bit(HID_DISCONNECTED, &usbhid->iofl); usbhid 1075 drivers/hid/usbhid/hid-core.c usbhid->bufsize = HID_MIN_BUFFER_SIZE; usbhid 1076 drivers/hid/usbhid/hid-core.c hid_find_max_report(hid, HID_INPUT_REPORT, &usbhid->bufsize); usbhid 1077 drivers/hid/usbhid/hid-core.c hid_find_max_report(hid, HID_OUTPUT_REPORT, &usbhid->bufsize); usbhid 1078 drivers/hid/usbhid/hid-core.c hid_find_max_report(hid, HID_FEATURE_REPORT, &usbhid->bufsize); usbhid 1080 drivers/hid/usbhid/hid-core.c if (usbhid->bufsize > HID_MAX_BUFFER_SIZE) usbhid 1081 drivers/hid/usbhid/hid-core.c usbhid->bufsize = HID_MAX_BUFFER_SIZE; usbhid 1132 drivers/hid/usbhid/hid-core.c if (usbhid->urbin) usbhid 1134 drivers/hid/usbhid/hid-core.c if (!(usbhid->urbin = usb_alloc_urb(0, GFP_KERNEL))) usbhid 1137 drivers/hid/usbhid/hid-core.c usb_fill_int_urb(usbhid->urbin, dev, pipe, usbhid->inbuf, insize, usbhid 1139 drivers/hid/usbhid/hid-core.c usbhid->urbin->transfer_dma = usbhid->inbuf_dma; usbhid 1140 drivers/hid/usbhid/hid-core.c usbhid->urbin->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; usbhid 1142 drivers/hid/usbhid/hid-core.c if (usbhid->urbout) usbhid 1144 drivers/hid/usbhid/hid-core.c if (!(usbhid->urbout = usb_alloc_urb(0, GFP_KERNEL))) usbhid 1147 drivers/hid/usbhid/hid-core.c usb_fill_int_urb(usbhid->urbout, dev, pipe, usbhid->outbuf, 0, usbhid 1149 drivers/hid/usbhid/hid-core.c usbhid->urbout->transfer_dma = usbhid->outbuf_dma; usbhid 1150 drivers/hid/usbhid/hid-core.c usbhid->urbout->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; usbhid 1154 drivers/hid/usbhid/hid-core.c usbhid->urbctrl = usb_alloc_urb(0, GFP_KERNEL); usbhid 1155 drivers/hid/usbhid/hid-core.c if (!usbhid->urbctrl) { usbhid 1160 drivers/hid/usbhid/hid-core.c usb_fill_control_urb(usbhid->urbctrl, dev, 0, (void *) usbhid->cr, usbhid 1161 drivers/hid/usbhid/hid-core.c usbhid->ctrlbuf, 1, hid_ctrl, hid); usbhid 1162 drivers/hid/usbhid/hid-core.c usbhid->urbctrl->transfer_dma = usbhid->ctrlbuf_dma; usbhid 1163 drivers/hid/usbhid/hid-core.c usbhid->urbctrl->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; usbhid 1165 drivers/hid/usbhid/hid-core.c set_bit(HID_STARTED, &usbhid->iofl); usbhid 1168 drivers/hid/usbhid/hid-core.c ret = usb_autopm_get_interface(usbhid->intf); usbhid 1171 drivers/hid/usbhid/hid-core.c set_bit(HID_IN_POLLING, &usbhid->iofl); usbhid 1172 drivers/hid/usbhid/hid-core.c usbhid->intf->needs_remote_wakeup = 1; usbhid 1178 drivers/hid/usbhid/hid-core.c usb_autopm_put_interface(usbhid->intf); usbhid 1194 drivers/hid/usbhid/hid-core.c mutex_unlock(&usbhid->mutex); usbhid 1198 drivers/hid/usbhid/hid-core.c usb_free_urb(usbhid->urbin); usbhid 1199 drivers/hid/usbhid/hid-core.c usb_free_urb(usbhid->urbout); usbhid 1200 drivers/hid/usbhid/hid-core.c usb_free_urb(usbhid->urbctrl); usbhid 1201 drivers/hid/usbhid/hid-core.c usbhid->urbin = NULL; usbhid 1202 drivers/hid/usbhid/hid-core.c usbhid->urbout = NULL; usbhid 1203 drivers/hid/usbhid/hid-core.c usbhid->urbctrl = NULL; usbhid 1205 drivers/hid/usbhid/hid-core.c mutex_unlock(&usbhid->mutex); usbhid 1211 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 1213 drivers/hid/usbhid/hid-core.c if (WARN_ON(!usbhid)) usbhid 1217 drivers/hid/usbhid/hid-core.c clear_bit(HID_IN_POLLING, &usbhid->iofl); usbhid 1218 drivers/hid/usbhid/hid-core.c usbhid->intf->needs_remote_wakeup = 0; usbhid 1221 drivers/hid/usbhid/hid-core.c mutex_lock(&usbhid->mutex); usbhid 1223 drivers/hid/usbhid/hid-core.c clear_bit(HID_STARTED, &usbhid->iofl); usbhid 1224 drivers/hid/usbhid/hid-core.c spin_lock_irq(&usbhid->lock); /* Sync with error and led handlers */ usbhid 1225 drivers/hid/usbhid/hid-core.c set_bit(HID_DISCONNECTED, &usbhid->iofl); usbhid 1226 drivers/hid/usbhid/hid-core.c spin_unlock_irq(&usbhid->lock); usbhid 1227 drivers/hid/usbhid/hid-core.c usb_kill_urb(usbhid->urbin); usbhid 1228 drivers/hid/usbhid/hid-core.c usb_kill_urb(usbhid->urbout); usbhid 1229 drivers/hid/usbhid/hid-core.c usb_kill_urb(usbhid->urbctrl); usbhid 1231 drivers/hid/usbhid/hid-core.c hid_cancel_delayed_stuff(usbhid); usbhid 1235 drivers/hid/usbhid/hid-core.c usb_free_urb(usbhid->urbin); usbhid 1236 drivers/hid/usbhid/hid-core.c usb_free_urb(usbhid->urbctrl); usbhid 1237 drivers/hid/usbhid/hid-core.c usb_free_urb(usbhid->urbout); usbhid 1238 drivers/hid/usbhid/hid-core.c usbhid->urbin = NULL; /* don't mess up next start */ usbhid 1239 drivers/hid/usbhid/hid-core.c usbhid->urbctrl = NULL; usbhid 1240 drivers/hid/usbhid/hid-core.c usbhid->urbout = NULL; usbhid 1244 drivers/hid/usbhid/hid-core.c mutex_unlock(&usbhid->mutex); usbhid 1249 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 1254 drivers/hid/usbhid/hid-core.c r = usb_autopm_get_interface(usbhid->intf); usbhid 1258 drivers/hid/usbhid/hid-core.c usb_autopm_put_interface(usbhid->intf); usbhid 1324 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid; usbhid 1390 drivers/hid/usbhid/hid-core.c usbhid = kzalloc(sizeof(*usbhid), GFP_KERNEL); usbhid 1391 drivers/hid/usbhid/hid-core.c if (usbhid == NULL) { usbhid 1396 drivers/hid/usbhid/hid-core.c hid->driver_data = usbhid; usbhid 1397 drivers/hid/usbhid/hid-core.c usbhid->hid = hid; usbhid 1398 drivers/hid/usbhid/hid-core.c usbhid->intf = intf; usbhid 1399 drivers/hid/usbhid/hid-core.c usbhid->ifnum = interface->desc.bInterfaceNumber; usbhid 1401 drivers/hid/usbhid/hid-core.c init_waitqueue_head(&usbhid->wait); usbhid 1402 drivers/hid/usbhid/hid-core.c INIT_WORK(&usbhid->reset_work, hid_reset); usbhid 1403 drivers/hid/usbhid/hid-core.c timer_setup(&usbhid->io_retry, hid_retry_timeout, 0); usbhid 1404 drivers/hid/usbhid/hid-core.c spin_lock_init(&usbhid->lock); usbhid 1405 drivers/hid/usbhid/hid-core.c mutex_init(&usbhid->mutex); usbhid 1416 drivers/hid/usbhid/hid-core.c kfree(usbhid); usbhid 1425 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid; usbhid 1430 drivers/hid/usbhid/hid-core.c usbhid = hid->driver_data; usbhid 1431 drivers/hid/usbhid/hid-core.c spin_lock_irq(&usbhid->lock); /* Sync with error and led handlers */ usbhid 1432 drivers/hid/usbhid/hid-core.c set_bit(HID_DISCONNECTED, &usbhid->iofl); usbhid 1433 drivers/hid/usbhid/hid-core.c spin_unlock_irq(&usbhid->lock); usbhid 1435 drivers/hid/usbhid/hid-core.c kfree(usbhid); usbhid 1438 drivers/hid/usbhid/hid-core.c static void hid_cancel_delayed_stuff(struct usbhid_device *usbhid) usbhid 1440 drivers/hid/usbhid/hid-core.c del_timer_sync(&usbhid->io_retry); usbhid 1441 drivers/hid/usbhid/hid-core.c cancel_work_sync(&usbhid->reset_work); usbhid 1444 drivers/hid/usbhid/hid-core.c static void hid_cease_io(struct usbhid_device *usbhid) usbhid 1446 drivers/hid/usbhid/hid-core.c del_timer_sync(&usbhid->io_retry); usbhid 1447 drivers/hid/usbhid/hid-core.c usb_kill_urb(usbhid->urbin); usbhid 1448 drivers/hid/usbhid/hid-core.c usb_kill_urb(usbhid->urbctrl); usbhid 1449 drivers/hid/usbhid/hid-core.c usb_kill_urb(usbhid->urbout); usbhid 1454 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 1455 drivers/hid/usbhid/hid-core.c int clear_halt = test_bit(HID_CLEAR_HALT, &usbhid->iofl); usbhid 1456 drivers/hid/usbhid/hid-core.c int reset_pending = test_bit(HID_RESET_PENDING, &usbhid->iofl); usbhid 1458 drivers/hid/usbhid/hid-core.c spin_lock_irq(&usbhid->lock); usbhid 1459 drivers/hid/usbhid/hid-core.c clear_bit(HID_SUSPENDED, &usbhid->iofl); usbhid 1460 drivers/hid/usbhid/hid-core.c usbhid_mark_busy(usbhid); usbhid 1463 drivers/hid/usbhid/hid-core.c schedule_work(&usbhid->reset_work); usbhid 1464 drivers/hid/usbhid/hid-core.c usbhid->retry_delay = 0; usbhid 1465 drivers/hid/usbhid/hid-core.c spin_unlock_irq(&usbhid->lock); usbhid 1467 drivers/hid/usbhid/hid-core.c if (reset_pending || !test_bit(HID_STARTED, &usbhid->iofl)) usbhid 1475 drivers/hid/usbhid/hid-core.c spin_lock_irq(&usbhid->lock); usbhid 1476 drivers/hid/usbhid/hid-core.c if (usbhid->urbout && !test_bit(HID_OUT_RUNNING, &usbhid->iofl)) usbhid 1477 drivers/hid/usbhid/hid-core.c usbhid_restart_out_queue(usbhid); usbhid 1478 drivers/hid/usbhid/hid-core.c if (!test_bit(HID_CTRL_RUNNING, &usbhid->iofl)) usbhid 1479 drivers/hid/usbhid/hid-core.c usbhid_restart_ctrl_queue(usbhid); usbhid 1480 drivers/hid/usbhid/hid-core.c spin_unlock_irq(&usbhid->lock); usbhid 1487 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 1489 drivers/hid/usbhid/hid-core.c spin_lock_irq(&usbhid->lock); usbhid 1490 drivers/hid/usbhid/hid-core.c set_bit(HID_RESET_PENDING, &usbhid->iofl); usbhid 1491 drivers/hid/usbhid/hid-core.c spin_unlock_irq(&usbhid->lock); usbhid 1492 drivers/hid/usbhid/hid-core.c hid_cease_io(usbhid); usbhid 1502 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 1532 drivers/hid/usbhid/hid-core.c spin_lock_irq(&usbhid->lock); usbhid 1533 drivers/hid/usbhid/hid-core.c clear_bit(HID_RESET_PENDING, &usbhid->iofl); usbhid 1534 drivers/hid/usbhid/hid-core.c clear_bit(HID_CLEAR_HALT, &usbhid->iofl); usbhid 1535 drivers/hid/usbhid/hid-core.c spin_unlock_irq(&usbhid->lock); usbhid 1557 drivers/hid/usbhid/hid-core.c struct usbhid_device *usbhid = hid->driver_data; usbhid 1564 drivers/hid/usbhid/hid-core.c spin_lock_irq(&usbhid->lock); /* Sync with error handler */ usbhid 1565 drivers/hid/usbhid/hid-core.c if (!test_bit(HID_RESET_PENDING, &usbhid->iofl) usbhid 1566 drivers/hid/usbhid/hid-core.c && !test_bit(HID_CLEAR_HALT, &usbhid->iofl) usbhid 1567 drivers/hid/usbhid/hid-core.c && !test_bit(HID_OUT_RUNNING, &usbhid->iofl) usbhid 1568 drivers/hid/usbhid/hid-core.c && !test_bit(HID_CTRL_RUNNING, &usbhid->iofl) usbhid 1569 drivers/hid/usbhid/hid-core.c && !test_bit(HID_KEYS_PRESSED, &usbhid->iofl) usbhid 1572 drivers/hid/usbhid/hid-core.c set_bit(HID_SUSPENDED, &usbhid->iofl); usbhid 1573 drivers/hid/usbhid/hid-core.c spin_unlock_irq(&usbhid->lock); usbhid 1581 drivers/hid/usbhid/hid-core.c usbhid_mark_busy(usbhid); usbhid 1582 drivers/hid/usbhid/hid-core.c spin_unlock_irq(&usbhid->lock); usbhid 1591 drivers/hid/usbhid/hid-core.c spin_lock_irq(&usbhid->lock); usbhid 1592 drivers/hid/usbhid/hid-core.c set_bit(HID_SUSPENDED, &usbhid->iofl); usbhid 1593 drivers/hid/usbhid/hid-core.c spin_unlock_irq(&usbhid->lock); usbhid 1598 drivers/hid/usbhid/hid-core.c hid_cancel_delayed_stuff(usbhid); usbhid 1599 drivers/hid/usbhid/hid-core.c hid_cease_io(usbhid); usbhid 1601 drivers/hid/usbhid/hid-core.c if (PMSG_IS_AUTO(message) && test_bit(HID_KEYS_PRESSED, &usbhid->iofl)) { usbhid 637 drivers/hid/usbhid/hiddev.c struct usbhid_device *usbhid = hid->driver_data; usbhid 644 drivers/hid/usbhid/hiddev.c dinfo.ifnum = usbhid->ifnum; usbhid 884 drivers/hid/usbhid/hiddev.c struct usbhid_device *usbhid = hid->driver_data; usbhid 909 drivers/hid/usbhid/hiddev.c retval = usb_register_dev(usbhid->intf, &hiddev_class); usbhid 923 drivers/hid/usbhid/hiddev.c hiddev->minor = usbhid->intf->minor; usbhid 936 drivers/hid/usbhid/hiddev.c struct usbhid_device *usbhid = hid->driver_data; usbhid 938 drivers/hid/usbhid/hiddev.c usb_deregister_dev(usbhid->intf, &hiddev_class);