• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/usb/mon/

Lines Matching refs:rp

100     mon_text_read_wait(struct mon_reader_text *rp, struct file *file);
101 static void mon_text_read_head_t(struct mon_reader_text *rp,
103 static void mon_text_read_head_u(struct mon_reader_text *rp,
105 static void mon_text_read_statset(struct mon_reader_text *rp,
107 static void mon_text_read_intstat(struct mon_reader_text *rp,
109 static void mon_text_read_isostat(struct mon_reader_text *rp,
111 static void mon_text_read_isodesc(struct mon_reader_text *rp,
113 static void mon_text_read_data(struct mon_reader_text *rp,
187 static void mon_text_event(struct mon_reader_text *rp, struct urb *urb,
198 if (rp->nevents >= EVENT_MAX ||
199 (ep = kmem_cache_alloc(rp->e_slab, GFP_ATOMIC)) == NULL) {
200 rp->r.m_bus->cnt_text_lost++;
241 ep->setup_flag = mon_text_get_setup(ep, urb, ev_type, rp->r.m_bus);
243 rp->r.m_bus);
245 rp->nevents++;
246 list_add_tail(&ep->e_link, &rp->e_list);
247 wake_up(&rp->wait);
252 struct mon_reader_text *rp = data;
253 mon_text_event(rp, urb, 'S', -EINPROGRESS);
258 struct mon_reader_text *rp = data;
259 mon_text_event(rp, urb, 'C', status);
264 struct mon_reader_text *rp = data;
267 if (rp->nevents >= EVENT_MAX ||
268 (ep = kmem_cache_alloc(rp->e_slab, GFP_ATOMIC)) == NULL) {
269 rp->r.m_bus->cnt_text_lost++;
287 rp->nevents++;
288 list_add_tail(&ep->e_link, &rp->e_list);
289 wake_up(&rp->wait);
295 static struct mon_event_text *mon_text_fetch(struct mon_reader_text *rp,
302 if (list_empty(&rp->e_list)) {
306 p = rp->e_list.next;
308 --rp->nevents;
318 struct mon_reader_text *rp;
324 rp = kzalloc(sizeof(struct mon_reader_text), GFP_KERNEL);
325 if (rp == NULL) {
329 INIT_LIST_HEAD(&rp->e_list);
330 init_waitqueue_head(&rp->wait);
331 mutex_init(&rp->printf_lock);
333 rp->printf_size = PRINTF_DFL;
334 rp->printf_buf = kmalloc(rp->printf_size, GFP_KERNEL);
335 if (rp->printf_buf == NULL) {
340 rp->r.m_bus = mbus;
341 rp->r.r_data = rp;
342 rp->r.rnf_submit = mon_text_submit;
343 rp->r.rnf_error = mon_text_error;
344 rp->r.rnf_complete = mon_text_complete;
346 snprintf(rp->slab_name, SLAB_NAME_SZ, "mon_text_%p", rp);
347 rp->e_slab = kmem_cache_create(rp->slab_name,
350 if (rp->e_slab == NULL) {
355 mon_reader_add(mbus, &rp->r);
357 file->private_data = rp;
362 // kmem_cache_destroy(rp->e_slab);
364 kfree(rp->printf_buf);
366 kfree(rp);
381 struct mon_reader_text *rp = file->private_data;
385 if (IS_ERR(ep = mon_text_read_wait(rp, file)))
387 mutex_lock(&rp->printf_lock);
389 ptr.pbuf = rp->printf_buf;
390 ptr.limit = rp->printf_size;
392 mon_text_read_head_t(rp, &ptr, ep);
393 mon_text_read_statset(rp, &ptr, ep);
396 mon_text_read_data(rp, &ptr, ep);
398 if (copy_to_user(buf, rp->printf_buf, ptr.cnt))
400 mutex_unlock(&rp->printf_lock);
401 kmem_cache_free(rp->e_slab, ep);
408 struct mon_reader_text *rp = file->private_data;
412 if (IS_ERR(ep = mon_text_read_wait(rp, file)))
414 mutex_lock(&rp->printf_lock);
416 ptr.pbuf = rp->printf_buf;
417 ptr.limit = rp->printf_size;
419 mon_text_read_head_u(rp, &ptr, ep);
421 mon_text_read_statset(rp, &ptr, ep);
423 mon_text_read_isostat(rp, &ptr, ep);
424 mon_text_read_isodesc(rp, &ptr, ep);
426 mon_text_read_intstat(rp, &ptr, ep);
428 mon_text_read_statset(rp, &ptr, ep);
432 mon_text_read_data(rp, &ptr, ep);
434 if (copy_to_user(buf, rp->printf_buf, ptr.cnt))
436 mutex_unlock(&rp->printf_lock);
437 kmem_cache_free(rp->e_slab, ep);
441 static struct mon_event_text *mon_text_read_wait(struct mon_reader_text *rp,
444 struct mon_bus *mbus = rp->r.m_bus;
448 add_wait_queue(&rp->wait, &waita);
450 while ((ep = mon_text_fetch(rp, mbus)) == NULL) {
453 remove_wait_queue(&rp->wait, &waita);
462 remove_wait_queue(&rp->wait, &waita);
468 remove_wait_queue(&rp->wait, &waita);
472 static void mon_text_read_head_t(struct mon_reader_text *rp,
490 static void mon_text_read_head_u(struct mon_reader_text *rp,
508 static void mon_text_read_statset(struct mon_reader_text *rp,
529 static void mon_text_read_intstat(struct mon_reader_text *rp,
536 static void mon_text_read_isostat(struct mon_reader_text *rp,
549 static void mon_text_read_isodesc(struct mon_reader_text *rp,
571 static void mon_text_read_data(struct mon_reader_text *rp,
605 struct mon_reader_text *rp = file->private_data;
619 mon_reader_del(mbus, &rp->r);
629 while (!list_empty(&rp->e_list)) {
630 p = rp->e_list.next;
633 --rp->nevents;
634 kmem_cache_free(rp->e_slab, ep);
638 kmem_cache_destroy(rp->e_slab);
639 kfree(rp->printf_buf);
640 kfree(rp);