Lines Matching refs:channel
211 static struct urb *usbatm_pop_urb(struct usbatm_channel *channel) in usbatm_pop_urb() argument
215 spin_lock_irq(&channel->lock); in usbatm_pop_urb()
216 if (list_empty(&channel->list)) { in usbatm_pop_urb()
217 spin_unlock_irq(&channel->lock); in usbatm_pop_urb()
221 urb = list_entry(channel->list.next, struct urb, urb_list); in usbatm_pop_urb()
223 spin_unlock_irq(&channel->lock); in usbatm_pop_urb()
230 struct usbatm_channel *channel = urb->context; in usbatm_submit_urb() local
239 atm_warn(channel->usbatm, "%s: urb 0x%p submission failed (%d)!\n", in usbatm_submit_urb()
244 spin_lock_irq(&channel->lock); in usbatm_submit_urb()
247 list_add(&urb->urb_list, &channel->list); in usbatm_submit_urb()
249 spin_unlock_irq(&channel->lock); in usbatm_submit_urb()
252 mod_timer(&channel->delay, jiffies + msecs_to_jiffies(THROTTLE_MSECS)); in usbatm_submit_urb()
260 struct usbatm_channel *channel = urb->context; in usbatm_complete() local
268 spin_lock_irqsave(&channel->lock, flags); in usbatm_complete()
271 list_add_tail(&urb->urb_list, &channel->list); in usbatm_complete()
273 spin_unlock_irqrestore(&channel->lock, flags); in usbatm_complete()
276 (!(channel->usbatm->flags & UDSL_IGNORE_EILSEQ) || in usbatm_complete()
282 atm_warn(channel->usbatm, "%s: urb 0x%p failed (%d)!\n", in usbatm_complete()
285 mod_timer(&channel->delay, jiffies + msecs_to_jiffies(THROTTLE_MSECS)); in usbatm_complete()
287 tasklet_schedule(&channel->tasklet); in usbatm_complete()
1011 static void usbatm_init_channel(struct usbatm_channel *channel) in usbatm_init_channel() argument
1013 spin_lock_init(&channel->lock); in usbatm_init_channel()
1014 INIT_LIST_HEAD(&channel->list); in usbatm_init_channel()
1015 channel->delay.function = usbatm_tasklet_schedule; in usbatm_init_channel()
1016 channel->delay.data = (unsigned long) &channel->tasklet; in usbatm_init_channel()
1017 init_timer(&channel->delay); in usbatm_init_channel()
1124 struct usbatm_channel *channel = i ? in usbatm_usb_probe() local
1128 __func__, channel->buf_size, i ? "tx" : "rx", channel); in usbatm_usb_probe()
1135 struct usbatm_channel *channel = i < num_rcv_urbs ? in usbatm_usb_probe() local
1138 …unsigned int iso_packets = usb_pipeisoc(channel->endpoint) ? channel->buf_size / channel->packet_s… in usbatm_usb_probe()
1150 buffer = kzalloc(channel->buf_size, GFP_KERNEL); in usbatm_usb_probe()
1157 usb_fill_bulk_urb(urb, instance->usb_dev, channel->endpoint, in usbatm_usb_probe()
1158 buffer, channel->buf_size, usbatm_complete, channel); in usbatm_usb_probe()
1165 urb->iso_frame_desc[j].offset = channel->packet_size * j; in usbatm_usb_probe()
1166 urb->iso_frame_desc[j].length = channel->packet_size; in usbatm_usb_probe()
1172 list_add_tail(&urb->urb_list, &channel->list); in usbatm_usb_probe()