Revert "UPSTREAM: usb: dwc2: host: Always add to the tail of queuesa"
authorJacob Chen <jacob2.chen@rock-chips.com>
Thu, 3 Nov 2016 07:50:13 +0000 (15:50 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Tue, 3 Jan 2017 09:46:34 +0000 (17:46 +0800)
This reverts commit abda71220e727633ad5dd404e0e09f04f0eb2d1b.

Change-Id: I71b3064a6a9439ab7b3893dcd20b8df4c4fad742
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
drivers/usb/dwc2/hcd.c
drivers/usb/dwc2/hcd_ddma.c
drivers/usb/dwc2/hcd_intr.c
drivers/usb/dwc2/hcd_queue.c

index 650f11da9eda88e3f29e35bc033d60d84d5d566d..1224ce2742a54c48b99c1ca327f504854f7e2cce 100644 (file)
@@ -930,8 +930,7 @@ enum dwc2_transaction_type dwc2_hcd_select_transactions(
                 * periodic assigned schedule
                 */
                qh_ptr = qh_ptr->next;
-               list_move_tail(&qh->qh_list_entry,
-                              &hsotg->periodic_sched_assigned);
+               list_move(&qh->qh_list_entry, &hsotg->periodic_sched_assigned);
                ret_val = DWC2_TRANSACTION_PERIODIC;
        }
 
@@ -964,8 +963,8 @@ enum dwc2_transaction_type dwc2_hcd_select_transactions(
                 * non-periodic active schedule
                 */
                qh_ptr = qh_ptr->next;
-               list_move_tail(&qh->qh_list_entry,
-                              &hsotg->non_periodic_sched_active);
+               list_move(&qh->qh_list_entry,
+                         &hsotg->non_periodic_sched_active);
 
                if (ret_val == DWC2_TRANSACTION_NONE)
                        ret_val = DWC2_TRANSACTION_NON_PERIODIC;
@@ -1138,8 +1137,8 @@ static void dwc2_process_periodic_channels(struct dwc2_hsotg *hsotg)
                         * Move the QH from the periodic assigned schedule to
                         * the periodic queued schedule
                         */
-                       list_move_tail(&qh->qh_list_entry,
-                                      &hsotg->periodic_sched_queued);
+                       list_move(&qh->qh_list_entry,
+                                 &hsotg->periodic_sched_queued);
 
                        /* done queuing high bandwidth */
                        hsotg->queuing_high_bandwidth = 0;
index f41f5f3c8590928f21340de690ed463572903277..78993aba9335c7ec3263e4dcf82e88254c49895f 100644 (file)
@@ -1172,8 +1172,8 @@ void dwc2_hcd_complete_xfer_ddma(struct dwc2_hsotg *hsotg,
                        dwc2_hcd_qh_unlink(hsotg, qh);
                } else {
                        /* Keep in assigned schedule to continue transfer */
-                       list_move_tail(&qh->qh_list_entry,
-                                      &hsotg->periodic_sched_assigned);
+                       list_move(&qh->qh_list_entry,
+                                 &hsotg->periodic_sched_assigned);
                        continue_isoc_xfer = 1;
                }
                /*
index 45e0729deb571c3150440b8bfad75f88a40e334b..bda0b21b850f695627efb5b1e70ae0e63de39638 100644 (file)
@@ -140,8 +140,8 @@ static void dwc2_sof_intr(struct dwc2_hsotg *hsotg)
                         * Move QH to the ready list to be executed next
                         * (micro)frame
                         */
-                       list_move_tail(&qh->qh_list_entry,
-                                      &hsotg->periodic_sched_ready);
+                       list_move(&qh->qh_list_entry,
+                                 &hsotg->periodic_sched_ready);
        }
        tr_type = dwc2_hcd_select_transactions(hsotg);
        if (tr_type != DWC2_TRANSACTION_NONE)
@@ -831,8 +831,8 @@ static void dwc2_halt_channel(struct dwc2_hsotg *hsotg,
                         * halt to be queued when the periodic schedule is
                         * processed.
                         */
-                       list_move_tail(&chan->qh->qh_list_entry,
-                                      &hsotg->periodic_sched_assigned);
+                       list_move(&chan->qh->qh_list_entry,
+                                 &hsotg->periodic_sched_assigned);
 
                        /*
                         * Make sure the Periodic Tx FIFO Empty interrupt is
index 7c306b3b81550c0a9405560718e005429e758621..7d8d06cfe3c1df1d5bc1a5534205464d89f65a56 100644 (file)
@@ -737,11 +737,9 @@ void dwc2_hcd_qh_deactivate(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh,
             dwc2_frame_num_le(qh->sched_frame, frame_number)) ||
            (hsotg->core_params->uframe_sched <= 0 &&
             qh->sched_frame == frame_number))
-               list_move_tail(&qh->qh_list_entry,
-                              &hsotg->periodic_sched_ready);
+               list_move(&qh->qh_list_entry, &hsotg->periodic_sched_ready);
        else
-               list_move_tail(&qh->qh_list_entry,
-                              &hsotg->periodic_sched_inactive);
+               list_move(&qh->qh_list_entry, &hsotg->periodic_sched_inactive);
 }
 
 /**