Symbol: usblp
drivers/usb/class/usblp.c
1003
if (!usblp->present)
drivers/usb/class/usblp.c
1007
spin_lock_irqsave(&usblp->lock, flags);
drivers/usb/class/usblp.c
1008
if (usblp->rcomplete) {
drivers/usb/class/usblp.c
1009
spin_unlock_irqrestore(&usblp->lock, flags);
drivers/usb/class/usblp.c
1012
spin_unlock_irqrestore(&usblp->lock, flags);
drivers/usb/class/usblp.c
1021
static int usblp_submit_read(struct usblp *usblp)
drivers/usb/class/usblp.c
1032
usb_fill_bulk_urb(urb, usblp->dev,
drivers/usb/class/usblp.c
1033
usb_rcvbulkpipe(usblp->dev,
drivers/usb/class/usblp.c
1034
usblp->protocol[usblp->current_protocol].epread->bEndpointAddress),
drivers/usb/class/usblp.c
1035
usblp->readbuf, USBLP_BUF_SIZE_IN,
drivers/usb/class/usblp.c
1036
usblp_bulk_read, usblp);
drivers/usb/class/usblp.c
1037
usb_anchor_urb(urb, &usblp->urbs);
drivers/usb/class/usblp.c
1039
spin_lock_irqsave(&usblp->lock, flags);
drivers/usb/class/usblp.c
1040
usblp->readcount = 0; /* XXX Why here? */
drivers/usb/class/usblp.c
1041
usblp->rcomplete = 0;
drivers/usb/class/usblp.c
1042
spin_unlock_irqrestore(&usblp->lock, flags);
drivers/usb/class/usblp.c
1045
dev_dbg(&usblp->intf->dev, "error submitting urb (%d)\n", rc);
drivers/usb/class/usblp.c
1046
spin_lock_irqsave(&usblp->lock, flags);
drivers/usb/class/usblp.c
1047
usblp->rstatus = rc;
drivers/usb/class/usblp.c
1048
usblp->rcomplete = 1;
drivers/usb/class/usblp.c
1049
spin_unlock_irqrestore(&usblp->lock, flags);
drivers/usb/class/usblp.c
1118
struct usblp *usblp = usb_get_intfdata(intf);
drivers/usb/class/usblp.c
1120
if (usblp->device_id_string[0] == 0 &&
drivers/usb/class/usblp.c
1121
usblp->device_id_string[1] == 0)
drivers/usb/class/usblp.c
1124
return sprintf(buf, "%s", usblp->device_id_string+2);
drivers/usb/class/usblp.c
1133
ATTRIBUTE_GROUPS(usblp);
drivers/usb/class/usblp.c
1139
struct usblp *usblp;
drivers/usb/class/usblp.c
1145
usblp = kzalloc_obj(struct usblp);
drivers/usb/class/usblp.c
1146
if (!usblp) {
drivers/usb/class/usblp.c
1150
usblp->dev = dev;
drivers/usb/class/usblp.c
1151
mutex_init(&usblp->wmut);
drivers/usb/class/usblp.c
1152
mutex_init(&usblp->mut);
drivers/usb/class/usblp.c
1153
spin_lock_init(&usblp->lock);
drivers/usb/class/usblp.c
1154
init_waitqueue_head(&usblp->rwait);
drivers/usb/class/usblp.c
1155
init_waitqueue_head(&usblp->wwait);
drivers/usb/class/usblp.c
1156
init_usb_anchor(&usblp->urbs);
drivers/usb/class/usblp.c
1157
usblp->ifnum = intf->cur_altsetting->desc.bInterfaceNumber;
drivers/usb/class/usblp.c
1158
usblp->intf = usb_get_intf(intf);
drivers/usb/class/usblp.c
1163
usblp->device_id_string = kmalloc(USBLP_DEVICE_ID_SIZE, GFP_KERNEL);
drivers/usb/class/usblp.c
1164
if (!usblp->device_id_string) {
drivers/usb/class/usblp.c
1174
usblp->readbuf = kmalloc(USBLP_BUF_SIZE_IN, GFP_KERNEL);
drivers/usb/class/usblp.c
1175
if (!usblp->readbuf) {
drivers/usb/class/usblp.c
1181
usblp->statusbuf = kmalloc(STATUS_BUF_SIZE, GFP_KERNEL);
drivers/usb/class/usblp.c
1182
if (!usblp->statusbuf) {
drivers/usb/class/usblp.c
1188
usblp->quirks = usblp_quirks(
drivers/usb/class/usblp.c
1193
protocol = usblp_select_alts(usblp);
drivers/usb/class/usblp.c
1204
if (usblp_set_protocol(usblp, protocol) < 0) {
drivers/usb/class/usblp.c
1210
usblp_cache_device_id_string(usblp);
drivers/usb/class/usblp.c
1213
usblp_check_status(usblp, 0);
drivers/usb/class/usblp.c
1216
usb_set_intfdata(intf, usblp);
drivers/usb/class/usblp.c
1218
usblp->present = 1;
drivers/usb/class/usblp.c
1227
usblp->minor = intf->minor;
drivers/usb/class/usblp.c
1230
usblp->minor, usblp->bidir ? "Bi" : "Uni", dev->devnum,
drivers/usb/class/usblp.c
1231
usblp->ifnum,
drivers/usb/class/usblp.c
1232
usblp->protocol[usblp->current_protocol].alt_setting,
drivers/usb/class/usblp.c
1233
usblp->current_protocol,
drivers/usb/class/usblp.c
1234
le16_to_cpu(usblp->dev->descriptor.idVendor),
drivers/usb/class/usblp.c
1235
le16_to_cpu(usblp->dev->descriptor.idProduct));
drivers/usb/class/usblp.c
1242
kfree(usblp->readbuf);
drivers/usb/class/usblp.c
1243
kfree(usblp->statusbuf);
drivers/usb/class/usblp.c
1244
kfree(usblp->device_id_string);
drivers/usb/class/usblp.c
1245
usb_put_intf(usblp->intf);
drivers/usb/class/usblp.c
1246
kfree(usblp);
drivers/usb/class/usblp.c
1274
static int usblp_select_alts(struct usblp *usblp)
drivers/usb/class/usblp.c
1282
if_alt = usblp->intf;
drivers/usb/class/usblp.c
1285
usblp->protocol[p].alt_setting = -1;
drivers/usb/class/usblp.c
1293
if (!(usblp->quirks & USBLP_QUIRK_BAD_CLASS))
drivers/usb/class/usblp.c
1314
if (usblp->quirks & USBLP_QUIRK_BIDIR) {
drivers/usb/class/usblp.c
1317
usblp->minor);
drivers/usb/class/usblp.c
1321
usblp->protocol[ifd->desc.bInterfaceProtocol].alt_setting =
drivers/usb/class/usblp.c
1323
usblp->protocol[ifd->desc.bInterfaceProtocol].epwrite = epwrite;
drivers/usb/class/usblp.c
1324
usblp->protocol[ifd->desc.bInterfaceProtocol].epread = epread;
drivers/usb/class/usblp.c
1330
usblp->protocol[proto_bias].alt_setting != -1)
drivers/usb/class/usblp.c
1334
if (usblp->protocol[2].alt_setting != -1)
drivers/usb/class/usblp.c
1336
if (usblp->protocol[1].alt_setting != -1)
drivers/usb/class/usblp.c
1338
if (usblp->protocol[3].alt_setting != -1)
drivers/usb/class/usblp.c
1345
static int usblp_set_protocol(struct usblp *usblp, int protocol)
drivers/usb/class/usblp.c
1352
alts = usblp->protocol[protocol].alt_setting;
drivers/usb/class/usblp.c
1357
if (usblp->intf->num_altsetting > 1) {
drivers/usb/class/usblp.c
1358
r = usb_set_interface(usblp->dev, usblp->ifnum, alts);
drivers/usb/class/usblp.c
1361
alts, usblp->ifnum);
drivers/usb/class/usblp.c
1366
usblp->bidir = (usblp->protocol[protocol].epread != NULL);
drivers/usb/class/usblp.c
1367
usblp->current_protocol = protocol;
drivers/usb/class/usblp.c
1368
dev_dbg(&usblp->intf->dev, "usblp%d set protocol %d\n",
drivers/usb/class/usblp.c
1369
usblp->minor, protocol);
drivers/usb/class/usblp.c
1376
static int usblp_cache_device_id_string(struct usblp *usblp)
drivers/usb/class/usblp.c
1380
err = usblp_get_id(usblp, 0, usblp->device_id_string, USBLP_DEVICE_ID_SIZE - 1);
drivers/usb/class/usblp.c
1382
dev_dbg(&usblp->intf->dev,
drivers/usb/class/usblp.c
1384
usblp->minor, err);
drivers/usb/class/usblp.c
1385
usblp->device_id_string[0] = usblp->device_id_string[1] = '\0';
drivers/usb/class/usblp.c
1392
length = be16_to_cpu(*((__be16 *)usblp->device_id_string));
drivers/usb/class/usblp.c
1397
usblp->device_id_string[length] = '\0';
drivers/usb/class/usblp.c
1399
dev_dbg(&usblp->intf->dev, "usblp%d Device ID string [len=%d]=\"%s\"\n",
drivers/usb/class/usblp.c
1400
usblp->minor, length, &usblp->device_id_string[2]);
drivers/usb/class/usblp.c
1407
struct usblp *usblp = usb_get_intfdata(intf);
drivers/usb/class/usblp.c
1411
if (!usblp || !usblp->dev) {
drivers/usb/class/usblp.c
1417
mutex_lock(&usblp->mut);
drivers/usb/class/usblp.c
1418
usblp->present = 0;
drivers/usb/class/usblp.c
1419
wake_up(&usblp->wwait);
drivers/usb/class/usblp.c
1420
wake_up(&usblp->rwait);
drivers/usb/class/usblp.c
1423
usblp_unlink_urbs(usblp);
drivers/usb/class/usblp.c
1424
mutex_unlock(&usblp->mut);
drivers/usb/class/usblp.c
1425
usb_poison_anchored_urbs(&usblp->urbs);
drivers/usb/class/usblp.c
1427
if (!usblp->used)
drivers/usb/class/usblp.c
1428
usblp_cleanup(usblp);
drivers/usb/class/usblp.c
1435
struct usblp *usblp = usb_get_intfdata(intf);
drivers/usb/class/usblp.c
1437
usblp_unlink_urbs(usblp);
drivers/usb/class/usblp.c
1440
wake_up(&usblp->wwait);
drivers/usb/class/usblp.c
1441
wake_up(&usblp->rwait);
drivers/usb/class/usblp.c
1449
struct usblp *usblp = usb_get_intfdata(intf);
drivers/usb/class/usblp.c
1452
r = handle_bidir(usblp);
drivers/usb/class/usblp.c
169
static void usblp_dump(struct usblp *usblp)
drivers/usb/class/usblp.c
171
struct device *dev = &usblp->intf->dev;
drivers/usb/class/usblp.c
174
dev_dbg(dev, "usblp=0x%p\n", usblp);
drivers/usb/class/usblp.c
175
dev_dbg(dev, "dev=0x%p\n", usblp->dev);
drivers/usb/class/usblp.c
176
dev_dbg(dev, "present=%d\n", usblp->present);
drivers/usb/class/usblp.c
177
dev_dbg(dev, "readbuf=0x%p\n", usblp->readbuf);
drivers/usb/class/usblp.c
178
dev_dbg(dev, "readcount=%d\n", usblp->readcount);
drivers/usb/class/usblp.c
179
dev_dbg(dev, "ifnum=%d\n", usblp->ifnum);
drivers/usb/class/usblp.c
182
usblp->protocol[p].alt_setting);
drivers/usb/class/usblp.c
184
usblp->protocol[p].epwrite);
drivers/usb/class/usblp.c
186
usblp->protocol[p].epread);
drivers/usb/class/usblp.c
188
dev_dbg(dev, "current_protocol=%d\n", usblp->current_protocol);
drivers/usb/class/usblp.c
189
dev_dbg(dev, "minor=%d\n", usblp->minor);
drivers/usb/class/usblp.c
190
dev_dbg(dev, "wstatus=%d\n", usblp->wstatus);
drivers/usb/class/usblp.c
191
dev_dbg(dev, "rstatus=%d\n", usblp->rstatus);
drivers/usb/class/usblp.c
192
dev_dbg(dev, "quirks=%d\n", usblp->quirks);
drivers/usb/class/usblp.c
193
dev_dbg(dev, "used=%d\n", usblp->used);
drivers/usb/class/usblp.c
194
dev_dbg(dev, "bidir=%d\n", usblp->bidir);
drivers/usb/class/usblp.c
196
usblp->device_id_string ?
drivers/usb/class/usblp.c
197
usblp->device_id_string + 2 :
drivers/usb/class/usblp.c
234
static int usblp_wwait(struct usblp *usblp, int nonblock);
drivers/usb/class/usblp.c
235
static int usblp_wtest(struct usblp *usblp, int nonblock);
drivers/usb/class/usblp.c
236
static int usblp_rwait_and_lock(struct usblp *usblp, int nonblock);
drivers/usb/class/usblp.c
237
static int usblp_rtest(struct usblp *usblp, int nonblock);
drivers/usb/class/usblp.c
238
static int usblp_submit_read(struct usblp *usblp);
drivers/usb/class/usblp.c
239
static int usblp_select_alts(struct usblp *usblp);
drivers/usb/class/usblp.c
240
static int usblp_set_protocol(struct usblp *usblp, int protocol);
drivers/usb/class/usblp.c
241
static int usblp_cache_device_id_string(struct usblp *usblp);
drivers/usb/class/usblp.c
251
static int usblp_ctrl_msg(struct usblp *usblp, int request, int type, int dir, int recip, int value, void *buf, int len)
drivers/usb/class/usblp.c
254
int index = usblp->ifnum;
drivers/usb/class/usblp.c
260
index = (usblp->ifnum<<8)|usblp->protocol[usblp->current_protocol].alt_setting;
drivers/usb/class/usblp.c
262
retval = usb_control_msg(usblp->dev,
drivers/usb/class/usblp.c
263
dir ? usb_rcvctrlpipe(usblp->dev, 0) : usb_sndctrlpipe(usblp->dev, 0),
drivers/usb/class/usblp.c
265
dev_dbg(&usblp->intf->dev,
drivers/usb/class/usblp.c
271
#define usblp_read_status(usblp, status)\
drivers/usb/class/usblp.c
272
usblp_ctrl_msg(usblp, USBLP_REQ_GET_STATUS, USB_TYPE_CLASS, USB_DIR_IN, USB_RECIP_INTERFACE, 0, status, 1)
drivers/usb/class/usblp.c
273
#define usblp_get_id(usblp, config, id, maxlen)\
drivers/usb/class/usblp.c
274
usblp_ctrl_msg(usblp, USBLP_REQ_GET_ID, USB_TYPE_CLASS, USB_DIR_IN, USB_RECIP_INTERFACE, config, id, maxlen)
drivers/usb/class/usblp.c
275
#define usblp_reset(usblp)\
drivers/usb/class/usblp.c
276
usblp_ctrl_msg(usblp, USBLP_REQ_RESET, USB_TYPE_CLASS, USB_DIR_OUT, USB_RECIP_OTHER, 0, NULL, 0)
drivers/usb/class/usblp.c
278
static int usblp_hp_channel_change_request(struct usblp *usblp, int channel, u8 *new_channel)
drivers/usb/class/usblp.c
287
ret = usblp_ctrl_msg(usblp, USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST,
drivers/usb/class/usblp.c
311
struct usblp *usblp = urb->context;
drivers/usb/class/usblp.c
315
if (usblp->present && usblp->used) {
drivers/usb/class/usblp.c
319
usblp->minor, status);
drivers/usb/class/usblp.c
321
spin_lock_irqsave(&usblp->lock, flags);
drivers/usb/class/usblp.c
323
usblp->rstatus = status;
drivers/usb/class/usblp.c
325
usblp->rstatus = urb->actual_length;
drivers/usb/class/usblp.c
326
usblp->rcomplete = 1;
drivers/usb/class/usblp.c
327
wake_up(&usblp->rwait);
drivers/usb/class/usblp.c
328
spin_unlock_irqrestore(&usblp->lock, flags);
drivers/usb/class/usblp.c
335
struct usblp *usblp = urb->context;
drivers/usb/class/usblp.c
339
if (usblp->present && usblp->used) {
drivers/usb/class/usblp.c
343
usblp->minor, status);
drivers/usb/class/usblp.c
345
spin_lock_irqsave(&usblp->lock, flags);
drivers/usb/class/usblp.c
347
usblp->wstatus = status;
drivers/usb/class/usblp.c
349
usblp->wstatus = urb->actual_length;
drivers/usb/class/usblp.c
350
usblp->no_paper = 0;
drivers/usb/class/usblp.c
351
usblp->wcomplete = 1;
drivers/usb/class/usblp.c
352
wake_up(&usblp->wwait);
drivers/usb/class/usblp.c
353
spin_unlock_irqrestore(&usblp->lock, flags);
drivers/usb/class/usblp.c
364
static int usblp_check_status(struct usblp *usblp, int err)
drivers/usb/class/usblp.c
369
mutex_lock(&usblp->mut);
drivers/usb/class/usblp.c
370
error = usblp_read_status(usblp, usblp->statusbuf);
drivers/usb/class/usblp.c
372
mutex_unlock(&usblp->mut);
drivers/usb/class/usblp.c
375
usblp->minor, error);
drivers/usb/class/usblp.c
378
status = *usblp->statusbuf;
drivers/usb/class/usblp.c
379
mutex_unlock(&usblp->mut);
drivers/usb/class/usblp.c
390
usblp->minor, usblp_messages[newerr]);
drivers/usb/class/usblp.c
396
static int handle_bidir(struct usblp *usblp)
drivers/usb/class/usblp.c
398
if (usblp->bidir && usblp->used) {
drivers/usb/class/usblp.c
399
if (usblp_submit_read(usblp) < 0)
drivers/usb/class/usblp.c
412
struct usblp *usblp;
drivers/usb/class/usblp.c
425
usblp = usb_get_intfdata(intf);
drivers/usb/class/usblp.c
426
if (!usblp || !usblp->dev || !usblp->present)
drivers/usb/class/usblp.c
430
if (usblp->used)
drivers/usb/class/usblp.c
442
usblp->used = 1;
drivers/usb/class/usblp.c
443
file->private_data = usblp;
drivers/usb/class/usblp.c
445
usblp->wcomplete = 1; /* we begin writeable */
drivers/usb/class/usblp.c
446
usblp->wstatus = 0;
drivers/usb/class/usblp.c
447
usblp->rcomplete = 0;
drivers/usb/class/usblp.c
449
if (handle_bidir(usblp) < 0) {
drivers/usb/class/usblp.c
451
usblp->used = 0;
drivers/usb/class/usblp.c
460
static void usblp_cleanup(struct usblp *usblp)
drivers/usb/class/usblp.c
462
printk(KERN_INFO "usblp%d: removed\n", usblp->minor);
drivers/usb/class/usblp.c
464
kfree(usblp->readbuf);
drivers/usb/class/usblp.c
465
kfree(usblp->device_id_string);
drivers/usb/class/usblp.c
466
kfree(usblp->statusbuf);
drivers/usb/class/usblp.c
467
usb_put_intf(usblp->intf);
drivers/usb/class/usblp.c
468
kfree(usblp);
drivers/usb/class/usblp.c
471
static void usblp_unlink_urbs(struct usblp *usblp)
drivers/usb/class/usblp.c
473
usb_kill_anchored_urbs(&usblp->urbs);
drivers/usb/class/usblp.c
478
struct usblp *usblp = file->private_data;
drivers/usb/class/usblp.c
480
usblp->flags &= ~LP_ABORT;
drivers/usb/class/usblp.c
483
usblp->used = 0;
drivers/usb/class/usblp.c
484
if (usblp->present)
drivers/usb/class/usblp.c
485
usblp_unlink_urbs(usblp);
drivers/usb/class/usblp.c
487
usb_autopm_put_interface(usblp->intf);
drivers/usb/class/usblp.c
489
if (!usblp->present) /* finish cleanup from disconnect */
drivers/usb/class/usblp.c
490
usblp_cleanup(usblp); /* any URBs must be dead */
drivers/usb/class/usblp.c
499
struct usblp *usblp = file->private_data;
drivers/usb/class/usblp.c
504
poll_wait(file, &usblp->rwait, wait);
drivers/usb/class/usblp.c
505
poll_wait(file, &usblp->wwait, wait);
drivers/usb/class/usblp.c
507
mutex_lock(&usblp->mut);
drivers/usb/class/usblp.c
508
if (!usblp->present)
drivers/usb/class/usblp.c
510
mutex_unlock(&usblp->mut);
drivers/usb/class/usblp.c
512
spin_lock_irqsave(&usblp->lock, flags);
drivers/usb/class/usblp.c
513
if (usblp->bidir && usblp->rcomplete)
drivers/usb/class/usblp.c
515
if (usblp->no_paper || usblp->wcomplete)
drivers/usb/class/usblp.c
517
spin_unlock_irqrestore(&usblp->lock, flags);
drivers/usb/class/usblp.c
523
struct usblp *usblp = file->private_data;
drivers/usb/class/usblp.c
530
mutex_lock(&usblp->mut);
drivers/usb/class/usblp.c
531
if (!usblp->present) {
drivers/usb/class/usblp.c
536
dev_dbg(&usblp->intf->dev,
drivers/usb/class/usblp.c
550
length = usblp_cache_device_id_string(usblp);
drivers/usb/class/usblp.c
559
usblp->device_id_string,
drivers/usb/class/usblp.c
574
twoints[0] = usblp->current_protocol;
drivers/usb/class/usblp.c
578
if (usblp->protocol[i].alt_setting >= 0)
drivers/usb/class/usblp.c
599
usblp_dump(usblp);
drivers/usb/class/usblp.c
604
usblp_unlink_urbs(usblp);
drivers/usb/class/usblp.c
605
retval = usblp_set_protocol(usblp, arg);
drivers/usb/class/usblp.c
607
usblp_set_protocol(usblp,
drivers/usb/class/usblp.c
608
usblp->current_protocol);
drivers/usb/class/usblp.c
614
le16_to_cpu(usblp->dev->descriptor.idVendor) != 0x03F0 ||
drivers/usb/class/usblp.c
615
usblp->quirks & USBLP_QUIRK_BIDIR) {
drivers/usb/class/usblp.c
620
err = usblp_hp_channel_change_request(usblp,
drivers/usb/class/usblp.c
623
dev_err(&usblp->dev->dev,
drivers/usb/class/usblp.c
626
usblp->minor, err);
drivers/usb/class/usblp.c
631
dev_dbg(&usblp->intf->dev,
drivers/usb/class/usblp.c
633
usblp->minor, arg, newChannel);
drivers/usb/class/usblp.c
643
twoints[0] = usblp->dev->bus->busnum;
drivers/usb/class/usblp.c
644
twoints[1] = usblp->dev->devnum;
drivers/usb/class/usblp.c
652
dev_dbg(&usblp->intf->dev,
drivers/usb/class/usblp.c
654
usblp->minor, twoints[0], twoints[1]);
drivers/usb/class/usblp.c
664
twoints[0] = le16_to_cpu(usblp->dev->descriptor.idVendor);
drivers/usb/class/usblp.c
665
twoints[1] = le16_to_cpu(usblp->dev->descriptor.idProduct);
drivers/usb/class/usblp.c
673
dev_dbg(&usblp->intf->dev,
drivers/usb/class/usblp.c
675
usblp->minor, twoints[0], twoints[1]);
drivers/usb/class/usblp.c
683
retval = usblp_reset(usblp);
drivers/usb/class/usblp.c
692
retval = usblp_read_status(usblp, usblp->statusbuf);
drivers/usb/class/usblp.c
696
usblp->minor, retval);
drivers/usb/class/usblp.c
700
status = *usblp->statusbuf;
drivers/usb/class/usblp.c
707
usblp->flags |= LP_ABORT;
drivers/usb/class/usblp.c
709
usblp->flags &= ~LP_ABORT;
drivers/usb/class/usblp.c
717
mutex_unlock(&usblp->mut);
drivers/usb/class/usblp.c
721
static struct urb *usblp_new_writeurb(struct usblp *usblp, int transfer_length)
drivers/usb/class/usblp.c
735
usb_fill_bulk_urb(urb, usblp->dev,
drivers/usb/class/usblp.c
736
usb_sndbulkpipe(usblp->dev,
drivers/usb/class/usblp.c
737
usblp->protocol[usblp->current_protocol].epwrite->bEndpointAddress),
drivers/usb/class/usblp.c
738
writebuf, transfer_length, usblp_bulk_write, usblp);
drivers/usb/class/usblp.c
746
struct usblp *usblp = file->private_data;
drivers/usb/class/usblp.c
752
if (mutex_lock_interruptible(&usblp->wmut)) {
drivers/usb/class/usblp.c
756
rv = usblp_wwait(usblp, !!(file->f_flags & O_NONBLOCK));
drivers/usb/class/usblp.c
769
writeurb = usblp_new_writeurb(usblp, transfer_length);
drivers/usb/class/usblp.c
772
usb_anchor_urb(writeurb, &usblp->urbs);
drivers/usb/class/usblp.c
780
spin_lock_irq(&usblp->lock);
drivers/usb/class/usblp.c
781
usblp->wcomplete = 0;
drivers/usb/class/usblp.c
782
spin_unlock_irq(&usblp->lock);
drivers/usb/class/usblp.c
786
usblp->wstatus = 0;
drivers/usb/class/usblp.c
787
spin_lock_irq(&usblp->lock);
drivers/usb/class/usblp.c
788
usblp->no_paper = 0;
drivers/usb/class/usblp.c
789
usblp->wcomplete = 1;
drivers/usb/class/usblp.c
790
wake_up(&usblp->wwait);
drivers/usb/class/usblp.c
791
spin_unlock_irq(&usblp->lock);
drivers/usb/class/usblp.c
800
rv = usblp_wwait(usblp, !!(file->f_flags&O_NONBLOCK));
drivers/usb/class/usblp.c
807
spin_lock_irq(&usblp->lock);
drivers/usb/class/usblp.c
808
usblp->no_paper = 1; /* Mark for poll(2) */
drivers/usb/class/usblp.c
809
spin_unlock_irq(&usblp->lock);
drivers/usb/class/usblp.c
816
if (usblp->wstatus < 0) {
drivers/usb/class/usblp.c
824
writecount += usblp->wstatus;
drivers/usb/class/usblp.c
827
mutex_unlock(&usblp->wmut);
drivers/usb/class/usblp.c
837
mutex_unlock(&usblp->wmut);
drivers/usb/class/usblp.c
849
struct usblp *usblp = file->private_data;
drivers/usb/class/usblp.c
854
if (!usblp->bidir)
drivers/usb/class/usblp.c
857
rv = usblp_rwait_and_lock(usblp, !!(file->f_flags & O_NONBLOCK));
drivers/usb/class/usblp.c
861
if (!usblp->present) {
drivers/usb/class/usblp.c
866
avail = usblp->rstatus;
drivers/usb/class/usblp.c
869
usblp->minor, (int)avail);
drivers/usb/class/usblp.c
870
usblp_submit_read(usblp);
drivers/usb/class/usblp.c
875
count = min_t(ssize_t, len, avail - usblp->readcount);
drivers/usb/class/usblp.c
877
copy_to_user(buffer, usblp->readbuf + usblp->readcount, count)) {
drivers/usb/class/usblp.c
882
usblp->readcount += count;
drivers/usb/class/usblp.c
883
if (usblp->readcount == avail) {
drivers/usb/class/usblp.c
884
if (usblp_submit_read(usblp) < 0) {
drivers/usb/class/usblp.c
893
mutex_unlock(&usblp->mut);
drivers/usb/class/usblp.c
908
static int usblp_wwait(struct usblp *usblp, int nonblock)
drivers/usb/class/usblp.c
914
add_wait_queue(&usblp->wwait, &waita);
drivers/usb/class/usblp.c
916
if (mutex_lock_interruptible(&usblp->mut)) {
drivers/usb/class/usblp.c
921
rc = usblp_wtest(usblp, nonblock);
drivers/usb/class/usblp.c
922
mutex_unlock(&usblp->mut);
drivers/usb/class/usblp.c
927
if (usblp->flags & LP_ABORT) {
drivers/usb/class/usblp.c
928
err = usblp_check_status(usblp, err);
drivers/usb/class/usblp.c
935
mutex_lock(&usblp->mut);
drivers/usb/class/usblp.c
936
usblp_read_status(usblp, usblp->statusbuf);
drivers/usb/class/usblp.c
937
mutex_unlock(&usblp->mut);
drivers/usb/class/usblp.c
942
remove_wait_queue(&usblp->wwait, &waita);
drivers/usb/class/usblp.c
946
static int usblp_wtest(struct usblp *usblp, int nonblock)
drivers/usb/class/usblp.c
950
if (!usblp->present)
drivers/usb/class/usblp.c
954
spin_lock_irqsave(&usblp->lock, flags);
drivers/usb/class/usblp.c
955
if (usblp->wcomplete) {
drivers/usb/class/usblp.c
956
spin_unlock_irqrestore(&usblp->lock, flags);
drivers/usb/class/usblp.c
959
spin_unlock_irqrestore(&usblp->lock, flags);
drivers/usb/class/usblp.c
972
static int usblp_rwait_and_lock(struct usblp *usblp, int nonblock)
drivers/usb/class/usblp.c
977
add_wait_queue(&usblp->rwait, &waita);
drivers/usb/class/usblp.c
979
if (mutex_lock_interruptible(&usblp->mut)) {
drivers/usb/class/usblp.c
984
rc = usblp_rtest(usblp, nonblock);
drivers/usb/class/usblp.c
986
mutex_unlock(&usblp->mut);
drivers/usb/class/usblp.c
991
mutex_unlock(&usblp->mut);
drivers/usb/class/usblp.c
995
remove_wait_queue(&usblp->rwait, &waita);
drivers/usb/class/usblp.c
999
static int usblp_rtest(struct usblp *usblp, int nonblock)