From: Jacob Chen Date: Thu, 3 Nov 2016 07:50:13 +0000 (+0800) Subject: Revert "UPSTREAM: usb: dwc2: host: Always add to the tail of queuesa" X-Git-Tag: firefly_0821_release~928 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=0b818da8db1c43d1a250369984d88aae30f8c208;p=firefly-linux-kernel-4.4.55.git Revert "UPSTREAM: usb: dwc2: host: Always add to the tail of queuesa" This reverts commit abda71220e727633ad5dd404e0e09f04f0eb2d1b. Change-Id: I71b3064a6a9439ab7b3893dcd20b8df4c4fad742 Signed-off-by: Jacob Chen --- diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c index 650f11da9eda..1224ce2742a5 100644 --- a/drivers/usb/dwc2/hcd.c +++ b/drivers/usb/dwc2/hcd.c @@ -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; diff --git a/drivers/usb/dwc2/hcd_ddma.c b/drivers/usb/dwc2/hcd_ddma.c index f41f5f3c8590..78993aba9335 100644 --- a/drivers/usb/dwc2/hcd_ddma.c +++ b/drivers/usb/dwc2/hcd_ddma.c @@ -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; } /* diff --git a/drivers/usb/dwc2/hcd_intr.c b/drivers/usb/dwc2/hcd_intr.c index 45e0729deb57..bda0b21b850f 100644 --- a/drivers/usb/dwc2/hcd_intr.c +++ b/drivers/usb/dwc2/hcd_intr.c @@ -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 diff --git a/drivers/usb/dwc2/hcd_queue.c b/drivers/usb/dwc2/hcd_queue.c index 7c306b3b8155..7d8d06cfe3c1 100644 --- a/drivers/usb/dwc2/hcd_queue.c +++ b/drivers/usb/dwc2/hcd_queue.c @@ -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); } /**