Lines Matching refs:usblp

131 struct usblp {  struct
168 static void usblp_dump(struct usblp *usblp) in usblp_dump() argument
170 struct device *dev = &usblp->intf->dev; in usblp_dump()
173 dev_dbg(dev, "usblp=0x%p\n", usblp); in usblp_dump()
174 dev_dbg(dev, "dev=0x%p\n", usblp->dev); in usblp_dump()
175 dev_dbg(dev, "present=%d\n", usblp->present); in usblp_dump()
176 dev_dbg(dev, "readbuf=0x%p\n", usblp->readbuf); in usblp_dump()
177 dev_dbg(dev, "readcount=%d\n", usblp->readcount); in usblp_dump()
178 dev_dbg(dev, "ifnum=%d\n", usblp->ifnum); in usblp_dump()
181 usblp->protocol[p].alt_setting); in usblp_dump()
183 usblp->protocol[p].epwrite); in usblp_dump()
185 usblp->protocol[p].epread); in usblp_dump()
187 dev_dbg(dev, "current_protocol=%d\n", usblp->current_protocol); in usblp_dump()
188 dev_dbg(dev, "minor=%d\n", usblp->minor); in usblp_dump()
189 dev_dbg(dev, "wstatus=%d\n", usblp->wstatus); in usblp_dump()
190 dev_dbg(dev, "rstatus=%d\n", usblp->rstatus); in usblp_dump()
191 dev_dbg(dev, "quirks=%d\n", usblp->quirks); in usblp_dump()
192 dev_dbg(dev, "used=%d\n", usblp->used); in usblp_dump()
193 dev_dbg(dev, "bidir=%d\n", usblp->bidir); in usblp_dump()
195 usblp->device_id_string ? in usblp_dump()
196 usblp->device_id_string + 2 : in usblp_dump()
233 static int usblp_wwait(struct usblp *usblp, int nonblock);
234 static int usblp_wtest(struct usblp *usblp, int nonblock);
235 static int usblp_rwait_and_lock(struct usblp *usblp, int nonblock);
236 static int usblp_rtest(struct usblp *usblp, int nonblock);
237 static int usblp_submit_read(struct usblp *usblp);
238 static int usblp_select_alts(struct usblp *usblp);
239 static int usblp_set_protocol(struct usblp *usblp, int protocol);
240 static int usblp_cache_device_id_string(struct usblp *usblp);
250 static int usblp_ctrl_msg(struct usblp *usblp, int request, int type, int dir, int recip, int value… in usblp_ctrl_msg() argument
253 int index = usblp->ifnum; in usblp_ctrl_msg()
259 index = (usblp->ifnum<<8)|usblp->protocol[usblp->current_protocol].alt_setting; in usblp_ctrl_msg()
261 retval = usb_control_msg(usblp->dev, in usblp_ctrl_msg()
262 dir ? usb_rcvctrlpipe(usblp->dev, 0) : usb_sndctrlpipe(usblp->dev, 0), in usblp_ctrl_msg()
264 dev_dbg(&usblp->intf->dev, in usblp_ctrl_msg()
270 #define usblp_read_status(usblp, status)\ argument
271 …usblp_ctrl_msg(usblp, USBLP_REQ_GET_STATUS, USB_TYPE_CLASS, USB_DIR_IN, USB_RECIP_INTERFACE, 0, st…
272 #define usblp_get_id(usblp, config, id, maxlen)\ argument
273 …usblp_ctrl_msg(usblp, USBLP_REQ_GET_ID, USB_TYPE_CLASS, USB_DIR_IN, USB_RECIP_INTERFACE, config, i…
274 #define usblp_reset(usblp)\ argument
275 usblp_ctrl_msg(usblp, USBLP_REQ_RESET, USB_TYPE_CLASS, USB_DIR_OUT, USB_RECIP_OTHER, 0, NULL, 0)
277 static int usblp_hp_channel_change_request(struct usblp *usblp, int channel, u8 *new_channel) in usblp_hp_channel_change_request() argument
286 ret = usblp_ctrl_msg(usblp, USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST, in usblp_hp_channel_change_request()
310 struct usblp *usblp = urb->context; in usblp_bulk_read() local
314 if (usblp->present && usblp->used) { in usblp_bulk_read()
318 usblp->minor, status); in usblp_bulk_read()
320 spin_lock_irqsave(&usblp->lock, flags); in usblp_bulk_read()
322 usblp->rstatus = status; in usblp_bulk_read()
324 usblp->rstatus = urb->actual_length; in usblp_bulk_read()
325 usblp->rcomplete = 1; in usblp_bulk_read()
326 wake_up(&usblp->rwait); in usblp_bulk_read()
327 spin_unlock_irqrestore(&usblp->lock, flags); in usblp_bulk_read()
334 struct usblp *usblp = urb->context; in usblp_bulk_write() local
338 if (usblp->present && usblp->used) { in usblp_bulk_write()
342 usblp->minor, status); in usblp_bulk_write()
344 spin_lock_irqsave(&usblp->lock, flags); in usblp_bulk_write()
346 usblp->wstatus = status; in usblp_bulk_write()
348 usblp->wstatus = urb->actual_length; in usblp_bulk_write()
349 usblp->no_paper = 0; in usblp_bulk_write()
350 usblp->wcomplete = 1; in usblp_bulk_write()
351 wake_up(&usblp->wwait); in usblp_bulk_write()
352 spin_unlock_irqrestore(&usblp->lock, flags); in usblp_bulk_write()
363 static int usblp_check_status(struct usblp *usblp, int err) in usblp_check_status() argument
368 mutex_lock(&usblp->mut); in usblp_check_status()
369 if ((error = usblp_read_status(usblp, usblp->statusbuf)) < 0) { in usblp_check_status()
370 mutex_unlock(&usblp->mut); in usblp_check_status()
373 usblp->minor, error); in usblp_check_status()
376 status = *usblp->statusbuf; in usblp_check_status()
377 mutex_unlock(&usblp->mut); in usblp_check_status()
388 usblp->minor, usblp_messages[newerr]); in usblp_check_status()
394 static int handle_bidir(struct usblp *usblp) in handle_bidir() argument
396 if (usblp->bidir && usblp->used) { in handle_bidir()
397 if (usblp_submit_read(usblp) < 0) in handle_bidir()
410 struct usblp *usblp; in usblp_open() local
423 usblp = usb_get_intfdata(intf); in usblp_open()
424 if (!usblp || !usblp->dev || !usblp->present) in usblp_open()
428 if (usblp->used) in usblp_open()
440 usblp->used = 1; in usblp_open()
441 file->private_data = usblp; in usblp_open()
443 usblp->wcomplete = 1; /* we begin writeable */ in usblp_open()
444 usblp->wstatus = 0; in usblp_open()
445 usblp->rcomplete = 0; in usblp_open()
447 if (handle_bidir(usblp) < 0) { in usblp_open()
449 usblp->used = 0; in usblp_open()
458 static void usblp_cleanup(struct usblp *usblp) in usblp_cleanup() argument
460 printk(KERN_INFO "usblp%d: removed\n", usblp->minor); in usblp_cleanup()
462 kfree(usblp->readbuf); in usblp_cleanup()
463 kfree(usblp->device_id_string); in usblp_cleanup()
464 kfree(usblp->statusbuf); in usblp_cleanup()
465 usb_put_intf(usblp->intf); in usblp_cleanup()
466 kfree(usblp); in usblp_cleanup()
469 static void usblp_unlink_urbs(struct usblp *usblp) in usblp_unlink_urbs() argument
471 usb_kill_anchored_urbs(&usblp->urbs); in usblp_unlink_urbs()
476 struct usblp *usblp = file->private_data; in usblp_release() local
478 usblp->flags &= ~LP_ABORT; in usblp_release()
481 usblp->used = 0; in usblp_release()
482 if (usblp->present) in usblp_release()
483 usblp_unlink_urbs(usblp); in usblp_release()
485 usb_autopm_put_interface(usblp->intf); in usblp_release()
487 if (!usblp->present) /* finish cleanup from disconnect */ in usblp_release()
488 usblp_cleanup(usblp); /* any URBs must be dead */ in usblp_release()
497 struct usblp *usblp = file->private_data; in usblp_poll() local
502 poll_wait(file, &usblp->rwait, wait); in usblp_poll()
503 poll_wait(file, &usblp->wwait, wait); in usblp_poll()
505 mutex_lock(&usblp->mut); in usblp_poll()
506 if (!usblp->present) in usblp_poll()
508 mutex_unlock(&usblp->mut); in usblp_poll()
510 spin_lock_irqsave(&usblp->lock, flags); in usblp_poll()
511 if (usblp->bidir && usblp->rcomplete) in usblp_poll()
513 if (usblp->no_paper || usblp->wcomplete) in usblp_poll()
515 spin_unlock_irqrestore(&usblp->lock, flags); in usblp_poll()
521 struct usblp *usblp = file->private_data; in usblp_ioctl() local
528 mutex_lock(&usblp->mut); in usblp_ioctl()
529 if (!usblp->present) { in usblp_ioctl()
534 dev_dbg(&usblp->intf->dev, in usblp_ioctl()
548 length = usblp_cache_device_id_string(usblp); in usblp_ioctl()
557 usblp->device_id_string, in usblp_ioctl()
572 twoints[0] = usblp->current_protocol; in usblp_ioctl()
576 if (usblp->protocol[i].alt_setting >= 0) in usblp_ioctl()
597 usblp_dump(usblp); in usblp_ioctl()
602 usblp_unlink_urbs(usblp); in usblp_ioctl()
603 retval = usblp_set_protocol(usblp, arg); in usblp_ioctl()
605 usblp_set_protocol(usblp, in usblp_ioctl()
606 usblp->current_protocol); in usblp_ioctl()
612 le16_to_cpu(usblp->dev->descriptor.idVendor) != 0x03F0 || in usblp_ioctl()
613 usblp->quirks & USBLP_QUIRK_BIDIR) { in usblp_ioctl()
618 err = usblp_hp_channel_change_request(usblp, in usblp_ioctl()
621 dev_err(&usblp->dev->dev, in usblp_ioctl()
624 usblp->minor, err); in usblp_ioctl()
629 dev_dbg(&usblp->intf->dev, in usblp_ioctl()
631 usblp->minor, arg, newChannel); in usblp_ioctl()
641 twoints[0] = usblp->dev->bus->busnum; in usblp_ioctl()
642 twoints[1] = usblp->dev->devnum; in usblp_ioctl()
650 dev_dbg(&usblp->intf->dev, in usblp_ioctl()
652 usblp->minor, twoints[0], twoints[1]); in usblp_ioctl()
662 twoints[0] = le16_to_cpu(usblp->dev->descriptor.idVendor); in usblp_ioctl()
663 twoints[1] = le16_to_cpu(usblp->dev->descriptor.idProduct); in usblp_ioctl()
671 dev_dbg(&usblp->intf->dev, in usblp_ioctl()
673 usblp->minor, twoints[0], twoints[1]); in usblp_ioctl()
681 retval = usblp_reset(usblp); in usblp_ioctl()
690 retval = usblp_read_status(usblp, usblp->statusbuf); in usblp_ioctl()
694 usblp->minor, retval); in usblp_ioctl()
698 status = *usblp->statusbuf; in usblp_ioctl()
705 usblp->flags |= LP_ABORT; in usblp_ioctl()
707 usblp->flags &= ~LP_ABORT; in usblp_ioctl()
715 mutex_unlock(&usblp->mut); in usblp_ioctl()
719 static struct urb *usblp_new_writeurb(struct usblp *usblp, int transfer_length) in usblp_new_writeurb() argument
733 usb_fill_bulk_urb(urb, usblp->dev, in usblp_new_writeurb()
734 usb_sndbulkpipe(usblp->dev, in usblp_new_writeurb()
735 usblp->protocol[usblp->current_protocol].epwrite->bEndpointAddress), in usblp_new_writeurb()
736 writebuf, transfer_length, usblp_bulk_write, usblp); in usblp_new_writeurb()
744 struct usblp *usblp = file->private_data; in usblp_write() local
750 if (mutex_lock_interruptible(&usblp->wmut)) { in usblp_write()
754 if ((rv = usblp_wwait(usblp, !!(file->f_flags & O_NONBLOCK))) < 0) in usblp_write()
765 writeurb = usblp_new_writeurb(usblp, transfer_length); in usblp_write()
768 usb_anchor_urb(writeurb, &usblp->urbs); in usblp_write()
776 spin_lock_irq(&usblp->lock); in usblp_write()
777 usblp->wcomplete = 0; in usblp_write()
778 spin_unlock_irq(&usblp->lock); in usblp_write()
780 usblp->wstatus = 0; in usblp_write()
781 spin_lock_irq(&usblp->lock); in usblp_write()
782 usblp->no_paper = 0; in usblp_write()
783 usblp->wcomplete = 1; in usblp_write()
784 wake_up(&usblp->wwait); in usblp_write()
785 spin_unlock_irq(&usblp->lock); in usblp_write()
794 rv = usblp_wwait(usblp, !!(file->f_flags&O_NONBLOCK)); in usblp_write()
801 spin_lock_irq(&usblp->lock); in usblp_write()
802 usblp->no_paper = 1; /* Mark for poll(2) */ in usblp_write()
803 spin_unlock_irq(&usblp->lock); in usblp_write()
810 if (usblp->wstatus < 0) { in usblp_write()
818 writecount += usblp->wstatus; in usblp_write()
821 mutex_unlock(&usblp->wmut); in usblp_write()
831 mutex_unlock(&usblp->wmut); in usblp_write()
843 struct usblp *usblp = file->private_data; in usblp_read() local
848 if (!usblp->bidir) in usblp_read()
851 rv = usblp_rwait_and_lock(usblp, !!(file->f_flags & O_NONBLOCK)); in usblp_read()
855 if (!usblp->present) { in usblp_read()
860 if ((avail = usblp->rstatus) < 0) { in usblp_read()
862 usblp->minor, (int)avail); in usblp_read()
863 usblp_submit_read(usblp); in usblp_read()
868 count = len < avail - usblp->readcount ? len : avail - usblp->readcount; in usblp_read()
870 copy_to_user(buffer, usblp->readbuf + usblp->readcount, count)) { in usblp_read()
875 if ((usblp->readcount += count) == avail) { in usblp_read()
876 if (usblp_submit_read(usblp) < 0) { in usblp_read()
885 mutex_unlock(&usblp->mut); in usblp_read()
900 static int usblp_wwait(struct usblp *usblp, int nonblock) in usblp_wwait() argument
906 add_wait_queue(&usblp->wwait, &waita); in usblp_wwait()
908 if (mutex_lock_interruptible(&usblp->mut)) { in usblp_wwait()
913 rc = usblp_wtest(usblp, nonblock); in usblp_wwait()
914 mutex_unlock(&usblp->mut); in usblp_wwait()
919 if (usblp->flags & LP_ABORT) { in usblp_wwait()
920 err = usblp_check_status(usblp, err); in usblp_wwait()
927 mutex_lock(&usblp->mut); in usblp_wwait()
928 usblp_read_status(usblp, usblp->statusbuf); in usblp_wwait()
929 mutex_unlock(&usblp->mut); in usblp_wwait()
934 remove_wait_queue(&usblp->wwait, &waita); in usblp_wwait()
938 static int usblp_wtest(struct usblp *usblp, int nonblock) in usblp_wtest() argument
942 if (!usblp->present) in usblp_wtest()
946 spin_lock_irqsave(&usblp->lock, flags); in usblp_wtest()
947 if (usblp->wcomplete) { in usblp_wtest()
948 spin_unlock_irqrestore(&usblp->lock, flags); in usblp_wtest()
951 spin_unlock_irqrestore(&usblp->lock, flags); in usblp_wtest()
964 static int usblp_rwait_and_lock(struct usblp *usblp, int nonblock) in usblp_rwait_and_lock() argument
969 add_wait_queue(&usblp->rwait, &waita); in usblp_rwait_and_lock()
971 if (mutex_lock_interruptible(&usblp->mut)) { in usblp_rwait_and_lock()
976 if ((rc = usblp_rtest(usblp, nonblock)) < 0) { in usblp_rwait_and_lock()
977 mutex_unlock(&usblp->mut); in usblp_rwait_and_lock()
982 mutex_unlock(&usblp->mut); in usblp_rwait_and_lock()
986 remove_wait_queue(&usblp->rwait, &waita); in usblp_rwait_and_lock()
990 static int usblp_rtest(struct usblp *usblp, int nonblock) in usblp_rtest() argument
994 if (!usblp->present) in usblp_rtest()
998 spin_lock_irqsave(&usblp->lock, flags); in usblp_rtest()
999 if (usblp->rcomplete) { in usblp_rtest()
1000 spin_unlock_irqrestore(&usblp->lock, flags); in usblp_rtest()
1003 spin_unlock_irqrestore(&usblp->lock, flags); in usblp_rtest()
1012 static int usblp_submit_read(struct usblp *usblp) in usblp_submit_read() argument
1023 usb_fill_bulk_urb(urb, usblp->dev, in usblp_submit_read()
1024 usb_rcvbulkpipe(usblp->dev, in usblp_submit_read()
1025 usblp->protocol[usblp->current_protocol].epread->bEndpointAddress), in usblp_submit_read()
1026 usblp->readbuf, USBLP_BUF_SIZE_IN, in usblp_submit_read()
1027 usblp_bulk_read, usblp); in usblp_submit_read()
1028 usb_anchor_urb(urb, &usblp->urbs); in usblp_submit_read()
1030 spin_lock_irqsave(&usblp->lock, flags); in usblp_submit_read()
1031 usblp->readcount = 0; /* XXX Why here? */ in usblp_submit_read()
1032 usblp->rcomplete = 0; in usblp_submit_read()
1033 spin_unlock_irqrestore(&usblp->lock, flags); in usblp_submit_read()
1035 dev_dbg(&usblp->intf->dev, "error submitting urb (%d)\n", rc); in usblp_submit_read()
1036 spin_lock_irqsave(&usblp->lock, flags); in usblp_submit_read()
1037 usblp->rstatus = rc; in usblp_submit_read()
1038 usblp->rcomplete = 1; in usblp_submit_read()
1039 spin_unlock_irqrestore(&usblp->lock, flags); in usblp_submit_read()
1108 struct usblp *usblp = usb_get_intfdata(intf); in ieee1284_id_show() local
1110 if (usblp->device_id_string[0] == 0 && in ieee1284_id_show()
1111 usblp->device_id_string[1] == 0) in ieee1284_id_show()
1114 return sprintf(buf, "%s", usblp->device_id_string+2); in ieee1284_id_show()
1123 ATTRIBUTE_GROUPS(usblp);
1129 struct usblp *usblp; in usblp_probe() local
1135 usblp = kzalloc(sizeof(struct usblp), GFP_KERNEL); in usblp_probe()
1136 if (!usblp) { in usblp_probe()
1140 usblp->dev = dev; in usblp_probe()
1141 mutex_init(&usblp->wmut); in usblp_probe()
1142 mutex_init(&usblp->mut); in usblp_probe()
1143 spin_lock_init(&usblp->lock); in usblp_probe()
1144 init_waitqueue_head(&usblp->rwait); in usblp_probe()
1145 init_waitqueue_head(&usblp->wwait); in usblp_probe()
1146 init_usb_anchor(&usblp->urbs); in usblp_probe()
1147 usblp->ifnum = intf->cur_altsetting->desc.bInterfaceNumber; in usblp_probe()
1148 usblp->intf = usb_get_intf(intf); in usblp_probe()
1153 if (!(usblp->device_id_string = kmalloc(USBLP_DEVICE_ID_SIZE, GFP_KERNEL))) { in usblp_probe()
1163 if (!(usblp->readbuf = kmalloc(USBLP_BUF_SIZE_IN, GFP_KERNEL))) { in usblp_probe()
1169 usblp->statusbuf = kmalloc(STATUS_BUF_SIZE, GFP_KERNEL); in usblp_probe()
1170 if (!usblp->statusbuf) { in usblp_probe()
1176 usblp->quirks = usblp_quirks( in usblp_probe()
1181 protocol = usblp_select_alts(usblp); in usblp_probe()
1192 if (usblp_set_protocol(usblp, protocol) < 0) { in usblp_probe()
1198 usblp_cache_device_id_string(usblp); in usblp_probe()
1201 usblp_check_status(usblp, 0); in usblp_probe()
1204 usb_set_intfdata(intf, usblp); in usblp_probe()
1206 usblp->present = 1; in usblp_probe()
1215 usblp->minor = intf->minor; in usblp_probe()
1218 usblp->minor, usblp->bidir ? "Bi" : "Uni", dev->devnum, in usblp_probe()
1219 usblp->ifnum, in usblp_probe()
1220 usblp->protocol[usblp->current_protocol].alt_setting, in usblp_probe()
1221 usblp->current_protocol, in usblp_probe()
1222 le16_to_cpu(usblp->dev->descriptor.idVendor), in usblp_probe()
1223 le16_to_cpu(usblp->dev->descriptor.idProduct)); in usblp_probe()
1230 kfree(usblp->readbuf); in usblp_probe()
1231 kfree(usblp->statusbuf); in usblp_probe()
1232 kfree(usblp->device_id_string); in usblp_probe()
1233 usb_put_intf(usblp->intf); in usblp_probe()
1234 kfree(usblp); in usblp_probe()
1262 static int usblp_select_alts(struct usblp *usblp) in usblp_select_alts() argument
1270 if_alt = usblp->intf; in usblp_select_alts()
1273 usblp->protocol[p].alt_setting = -1; in usblp_select_alts()
1281 if (!(usblp->quirks & USBLP_QUIRK_BAD_CLASS)) in usblp_select_alts()
1302 if (usblp->quirks & USBLP_QUIRK_BIDIR) { in usblp_select_alts()
1305 usblp->minor); in usblp_select_alts()
1309 usblp->protocol[ifd->desc.bInterfaceProtocol].alt_setting = in usblp_select_alts()
1311 usblp->protocol[ifd->desc.bInterfaceProtocol].epwrite = epwrite; in usblp_select_alts()
1312 usblp->protocol[ifd->desc.bInterfaceProtocol].epread = epread; in usblp_select_alts()
1318 usblp->protocol[proto_bias].alt_setting != -1) in usblp_select_alts()
1322 if (usblp->protocol[2].alt_setting != -1) in usblp_select_alts()
1324 if (usblp->protocol[1].alt_setting != -1) in usblp_select_alts()
1326 if (usblp->protocol[3].alt_setting != -1) in usblp_select_alts()
1333 static int usblp_set_protocol(struct usblp *usblp, int protocol) in usblp_set_protocol() argument
1341 if (usblp->intf->num_altsetting > 1) { in usblp_set_protocol()
1342 alts = usblp->protocol[protocol].alt_setting; in usblp_set_protocol()
1345 r = usb_set_interface(usblp->dev, usblp->ifnum, alts); in usblp_set_protocol()
1348 alts, usblp->ifnum); in usblp_set_protocol()
1353 usblp->bidir = (usblp->protocol[protocol].epread != NULL); in usblp_set_protocol()
1354 usblp->current_protocol = protocol; in usblp_set_protocol()
1355 dev_dbg(&usblp->intf->dev, "usblp%d set protocol %d\n", in usblp_set_protocol()
1356 usblp->minor, protocol); in usblp_set_protocol()
1363 static int usblp_cache_device_id_string(struct usblp *usblp) in usblp_cache_device_id_string() argument
1367 err = usblp_get_id(usblp, 0, usblp->device_id_string, USBLP_DEVICE_ID_SIZE - 1); in usblp_cache_device_id_string()
1369 dev_dbg(&usblp->intf->dev, in usblp_cache_device_id_string()
1371 usblp->minor, err); in usblp_cache_device_id_string()
1372 usblp->device_id_string[0] = usblp->device_id_string[1] = '\0'; in usblp_cache_device_id_string()
1379 length = be16_to_cpu(*((__be16 *)usblp->device_id_string)); in usblp_cache_device_id_string()
1384 usblp->device_id_string[length] = '\0'; in usblp_cache_device_id_string()
1386 dev_dbg(&usblp->intf->dev, "usblp%d Device ID string [len=%d]=\"%s\"\n", in usblp_cache_device_id_string()
1387 usblp->minor, length, &usblp->device_id_string[2]); in usblp_cache_device_id_string()
1394 struct usblp *usblp = usb_get_intfdata(intf); in usblp_disconnect() local
1398 if (!usblp || !usblp->dev) { in usblp_disconnect()
1404 mutex_lock(&usblp->mut); in usblp_disconnect()
1405 usblp->present = 0; in usblp_disconnect()
1406 wake_up(&usblp->wwait); in usblp_disconnect()
1407 wake_up(&usblp->rwait); in usblp_disconnect()
1410 usblp_unlink_urbs(usblp); in usblp_disconnect()
1411 mutex_unlock(&usblp->mut); in usblp_disconnect()
1412 usb_poison_anchored_urbs(&usblp->urbs); in usblp_disconnect()
1414 if (!usblp->used) in usblp_disconnect()
1415 usblp_cleanup(usblp); in usblp_disconnect()
1422 struct usblp *usblp = usb_get_intfdata(intf); in usblp_suspend() local
1424 usblp_unlink_urbs(usblp); in usblp_suspend()
1427 wake_up(&usblp->wwait); in usblp_suspend()
1428 wake_up(&usblp->rwait); in usblp_suspend()
1436 struct usblp *usblp = usb_get_intfdata(intf); in usblp_resume() local
1439 r = handle_bidir(usblp); in usblp_resume()