Пример #1
0
void fastsource_dump(void)
{
	printf("usb pending: ");
	printf("ssc pending:");
	llist_for_each_entry_safe(rctx, rctx2, &ssc_state.pending_rctx, list)
		printf(" %d", req_ctx_num(rctx));
	printf("\r\n");
}
Пример #2
0
void fastsource_dump(void)
{
	struct req_ctx *rctx, *rctx2;

	printf("usb pending:");
	llist_for_each_entry_safe(rctx, rctx2, &usb_state.queue, list)
		printf(" %02d", req_ctx_num(rctx));
	printf("\n\r");
}
Пример #3
0
void l1ctl_sock_destroy(struct l1ctl_sock_inst *lsi)
{
	struct l1ctl_sock_client *lsc, *lsc2;

	llist_for_each_entry_safe(lsc, lsc2, &lsi->clients, list)
		l1ctl_client_destroy(lsc);

	osmo_fd_close(&lsi->ofd);
	talloc_free(lsi);
}
Пример #4
0
static
void tracker_call_rcu_workqueue(struct work_struct *work)
{
       struct latency_tracker *tracker;
       struct llist_node *list;
       struct latency_tracker_event *e, *n;

       tracker = container_of(work, struct latency_tracker,
		       tracker_call_rcu_w.work);
       list = llist_del_all(&tracker->to_release);
       synchronize_sched();
       llist_for_each_entry_safe(e, n, list, llist)
	       wrapper_freelist_put_event(tracker, e);
}
Пример #5
0
void tty_buffer_free_all(struct tty_port *port)
{
	struct tty_bufhead *buf = &port->buf;
	struct tty_buffer *p, *next;
	struct llist_node *llist;

	while ((p = buf->head) != NULL) {
		buf->head = p->next;
		if (p->size > 0)
			kfree(p);
	}
	llist = llist_del_all(&buf->free);
	llist_for_each_entry_safe(p, next, llist, free)
		kfree(p);

	tty_buffer_reset(&buf->sentinel, 0);
	buf->head = &buf->sentinel;
	buf->tail = &buf->sentinel;

	atomic_set(&buf->mem_used, 0);
}