Use list_for_each_entry_safe() instead of list_for_each_safe() to
simplify the code.

Signed-off-by: Geliang Tang <geliangt...@163.com>
---
 drivers/usb/host/fotg210-hcd.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/drivers/usb/host/fotg210-hcd.c b/drivers/usb/host/fotg210-hcd.c
index 2341af4..360a5e9 100644
--- a/drivers/usb/host/fotg210-hcd.c
+++ b/drivers/usb/host/fotg210-hcd.c
@@ -2267,7 +2267,7 @@ static unsigned qh_completions(struct fotg210_hcd 
*fotg210,
                struct fotg210_qh *qh)
 {
        struct fotg210_qtd *last, *end = qh->dummy;
-       struct list_head *entry, *tmp;
+       struct fotg210_qtd *qtd, *tmp;
        int last_status;
        int stopped;
        unsigned count = 0;
@@ -2301,12 +2301,10 @@ rescan:
         * then let the queue advance.
         * if queue is stopped, handles unlinks.
         */
-       list_for_each_safe(entry, tmp, &qh->qtd_list) {
-               struct fotg210_qtd *qtd;
+       list_for_each_entry_safe(qtd, tmp, &qh->qtd_list, qtd_list) {
                struct urb *urb;
                u32 token = 0;
 
-               qtd = list_entry(entry, struct fotg210_qtd, qtd_list);
                urb = qtd->urb;
 
                /* clean up any state from previous QTD ...*/
@@ -2544,14 +2542,11 @@ retry_xacterr:
  * used for cleanup after errors, before HC sees an URB's TDs.
  */
 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;
-
-       list_for_each_safe(entry, temp, qtd_list) {
-               struct fotg210_qtd *qtd;
+       struct fotg210_qtd *qtd, *temp;
 
-               qtd = list_entry(entry, struct fotg210_qtd, qtd_list);
+       list_for_each_entry_safe(qtd, temp, head, qtd_list) {
                list_del(&qtd->qtd_list);
                fotg210_qtd_free(fotg210, qtd);
        }
-- 
2.5.0


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to