Commit 2f4c8e55 authored by Geliang Tang's avatar Geliang Tang Committed by Greg Kroah-Hartman

usb: host: fotg210: use list_for_each_entry_safe

Use list_for_each_entry_safe() instead of list_for_each_safe() to
simplify the code.
Signed-off-by: default avatarGeliang Tang <geliangtang@163.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e3e2e36c
...@@ -2267,7 +2267,7 @@ static unsigned qh_completions(struct fotg210_hcd *fotg210, ...@@ -2267,7 +2267,7 @@ static unsigned qh_completions(struct fotg210_hcd *fotg210,
struct fotg210_qh *qh) struct fotg210_qh *qh)
{ {
struct fotg210_qtd *last, *end = qh->dummy; struct fotg210_qtd *last, *end = qh->dummy;
struct list_head *entry, *tmp; struct fotg210_qtd *qtd, *tmp;
int last_status; int last_status;
int stopped; int stopped;
unsigned count = 0; unsigned count = 0;
...@@ -2301,12 +2301,10 @@ static unsigned qh_completions(struct fotg210_hcd *fotg210, ...@@ -2301,12 +2301,10 @@ static unsigned qh_completions(struct fotg210_hcd *fotg210,
* then let the queue advance. * then let the queue advance.
* if queue is stopped, handles unlinks. * if queue is stopped, handles unlinks.
*/ */
list_for_each_safe(entry, tmp, &qh->qtd_list) { list_for_each_entry_safe(qtd, tmp, &qh->qtd_list, qtd_list) {
struct fotg210_qtd *qtd;
struct urb *urb; struct urb *urb;
u32 token = 0; u32 token = 0;
qtd = list_entry(entry, struct fotg210_qtd, qtd_list);
urb = qtd->urb; urb = qtd->urb;
/* clean up any state from previous QTD ...*/ /* clean up any state from previous QTD ...*/
...@@ -2544,14 +2542,11 @@ static unsigned qh_completions(struct fotg210_hcd *fotg210, ...@@ -2544,14 +2542,11 @@ static unsigned qh_completions(struct fotg210_hcd *fotg210,
* used for cleanup after errors, before HC sees an URB's TDs. * used for cleanup after errors, before HC sees an URB's TDs.
*/ */
static void qtd_list_free(struct fotg210_hcd *fotg210, struct urb *urb, static void qtd_list_free(struct fotg210_hcd *fotg210, struct urb *urb,
struct list_head *qtd_list) struct list_head *head)
{ {
struct list_head *entry, *temp; struct fotg210_qtd *qtd, *temp;
list_for_each_safe(entry, temp, qtd_list) {
struct fotg210_qtd *qtd;
qtd = list_entry(entry, struct fotg210_qtd, qtd_list); list_for_each_entry_safe(qtd, temp, head, qtd_list) {
list_del(&qtd->qtd_list); list_del(&qtd->qtd_list);
fotg210_qtd_free(fotg210, qtd); fotg210_qtd_free(fotg210, qtd);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment