Lines Matching refs:pnd

50 	struct usbpn_dev *pnd = netdev_priv(dev);
61 usb_fill_bulk_urb(req, pnd->usb, pnd->tx_pipe, skb->data, skb->len,
70 spin_lock_irqsave(&pnd->tx_lock, flags);
71 pnd->tx_queue++;
72 if (pnd->tx_queue >= dev->tx_queue_len)
74 spin_unlock_irqrestore(&pnd->tx_lock, flags);
87 struct usbpn_dev *pnd = netdev_priv(dev);
107 spin_lock_irqsave(&pnd->tx_lock, flags);
108 pnd->tx_queue--;
110 spin_unlock_irqrestore(&pnd->tx_lock, flags);
116 static int rx_submit(struct usbpn_dev *pnd, struct urb *req, gfp_t gfp_flags)
118 struct net_device *dev = pnd->dev;
126 usb_fill_bulk_urb(req, pnd->usb, pnd->rx_pipe, page_address(page),
140 struct usbpn_dev *pnd = netdev_priv(dev);
148 spin_lock_irqsave(&pnd->rx_lock, flags);
149 skb = pnd->rx_skb;
151 skb = pnd->rx_skb = netdev_alloc_skb(dev, 12);
167 pnd->rx_skb = NULL; /* Last fragment */
170 spin_unlock_irqrestore(&pnd->rx_lock, flags);
204 rx_submit(pnd, req, GFP_ATOMIC);
211 struct usbpn_dev *pnd = netdev_priv(dev);
214 unsigned num = pnd->data_intf->cur_altsetting->desc.bInterfaceNumber;
216 err = usb_set_interface(pnd->usb, num, pnd->active_setting);
223 if (!req || rx_submit(pnd, req, GFP_KERNEL)) {
228 pnd->urbs[i] = req;
237 struct usbpn_dev *pnd = netdev_priv(dev);
239 unsigned num = pnd->data_intf->cur_altsetting->desc.bInterfaceNumber;
244 struct urb *req = pnd->urbs[i];
250 pnd->urbs[i] = NULL;
253 return usb_set_interface(pnd->usb, num, !pnd->active_setting);
323 struct usbpn_dev *pnd;
354 dev = alloc_netdev(struct_size(pnd, urbs, rxq_size), ifname,
359 pnd = netdev_priv(dev);
362 pnd->dev = dev;
363 pnd->usb = usbdev;
364 pnd->intf = intf;
365 pnd->data_intf = data_intf;
366 spin_lock_init(&pnd->tx_lock);
367 spin_lock_init(&pnd->rx_lock);
370 pnd->rx_pipe = usb_rcvbulkpipe(usbdev,
372 pnd->tx_pipe = usb_sndbulkpipe(usbdev,
375 pnd->rx_pipe = usb_rcvbulkpipe(usbdev,
377 pnd->tx_pipe = usb_sndbulkpipe(usbdev,
380 pnd->active_setting = data_desc - data_intf->altsetting;
382 err = usb_driver_claim_interface(&usbpn_driver, data_intf, pnd);
388 !pnd->active_setting);
389 usb_set_intfdata(intf, pnd);
394 pnd->disconnected = 1;
410 struct usbpn_dev *pnd = usb_get_intfdata(intf);
412 if (pnd->disconnected)
415 pnd->disconnected = 1;
417 (pnd->intf == intf) ? pnd->data_intf : pnd->intf);
418 unregister_netdev(pnd->dev);