Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4e5d7a82 authored by Geliang Tang's avatar Geliang Tang Committed by Greg Kroah-Hartman
Browse files

usb: host: u132-hcd: use list_for_each_entry



Use list_for_each_entry() instead of list_for_each() to simplify
the code.

Signed-off-by: default avatarGeliang Tang <geliangtang@163.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 7b1585f2
Loading
Loading
Loading
Loading
+6 −12
Original line number Diff line number Diff line
@@ -1309,13 +1309,9 @@ static void u132_hcd_ring_work_scheduler(struct work_struct *work)
		u132_ring_put_kref(u132, ring);
		return;
	} else if (ring->curr_endp) {
		struct u132_endp *last_endp = ring->curr_endp;
		struct list_head *scan;
		struct list_head *head = &last_endp->endp_ring;
		struct u132_endp *endp, *last_endp = ring->curr_endp;
		unsigned long wakeup = 0;
		list_for_each(scan, head) {
			struct u132_endp *endp = list_entry(scan,
				struct u132_endp, endp_ring);
		list_for_each_entry(endp, &last_endp->endp_ring, endp_ring) {
			if (endp->queue_next == endp->queue_last) {
			} else if ((endp->delayed == 0)
				|| time_after_eq(jiffies, endp->jiffies)) {
@@ -2393,14 +2389,12 @@ static int u132_urb_enqueue(struct usb_hcd *hcd, struct urb *urb,
static int dequeue_from_overflow_chain(struct u132 *u132,
	struct u132_endp *endp, struct urb *urb)
{
	struct list_head *scan;
	struct list_head *head = &endp->urb_more;
	list_for_each(scan, head) {
		struct u132_urbq *urbq = list_entry(scan, struct u132_urbq,
			urb_more);
	struct u132_urbq *urbq;

	list_for_each_entry(urbq, &endp->urb_more, urb_more) {
		if (urbq->urb == urb) {
			struct usb_hcd *hcd = u132_to_hcd(u132);
			list_del(scan);
			list_del(&urbq->urb_more);
			endp->queue_size -= 1;
			urb->error_count = 0;
			usb_hcd_giveback_urb(hcd, urb, 0);