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);
320 struct usbpn_dev *pnd;
351 dev = alloc_netdev(struct_size(pnd, urbs, rxq_size), ifname,
356 pnd = netdev_priv(dev);
359 pnd->dev = dev;
360 pnd->usb = usbdev;
361 pnd->intf = intf;
362 pnd->data_intf = data_intf;
363 spin_lock_init(&pnd->tx_lock);
364 spin_lock_init(&pnd->rx_lock);
367 pnd->rx_pipe = usb_rcvbulkpipe(usbdev,
369 pnd->tx_pipe = usb_sndbulkpipe(usbdev,
372 pnd->rx_pipe = usb_rcvbulkpipe(usbdev,
374 pnd->tx_pipe = usb_sndbulkpipe(usbdev,
377 pnd->active_setting = data_desc - data_intf->altsetting;
379 err = usb_driver_claim_interface(&usbpn_driver, data_intf, pnd);
385 !pnd->active_setting);
386 usb_set_intfdata(intf, pnd);
391 pnd->disconnected = 1;
407 struct usbpn_dev *pnd = usb_get_intfdata(intf);
409 if (pnd->disconnected)
412 pnd->disconnected = 1;
414 (pnd->intf == intf) ? pnd->data_intf : pnd->intf);
415 unregister_netdev(pnd->dev);