Merge remote-tracking branch 'kernel-2.6.32/develop' into develop-2.6.36
[firefly-linux-kernel-4.4.55.git] / drivers / usb / dwc_otg / dwc_otg_hcd.c
index 85752070ca36f5c57e6387e93ada0fcdae92ddbe..69bbadf593987d06c315d40fc0bb182c80b73dba 100755 (executable)
@@ -2441,10 +2441,10 @@ int dwc_otg_hcd_hub_control(struct usb_hcd *_hcd,
                        port_status |= (1 << USB_PORT_FEAT_POWER);
 
                if (hprt0.b.prtspd == DWC_HPRT0_PRTSPD_HIGH_SPEED)
-                       port_status |= (1 << USB_PORT_FEAT_HIGHSPEED);
+                       port_status |= USB_PORT_STAT_HIGH_SPEED;
 
                else if (hprt0.b.prtspd == DWC_HPRT0_PRTSPD_LOW_SPEED)
-                       port_status |= (1 << USB_PORT_FEAT_LOWSPEED);
+                       port_status |= USB_PORT_STAT_LOW_SPEED;
 
                if (hprt0.b.prttstctl)
                        port_status |= (1 << USB_PORT_FEAT_TEST);
@@ -2878,7 +2878,7 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t *_hcd)
                 * periodic assigned schedule.
                 */
                qh_ptr = qh_ptr->next;
-               list_move(&qh->qh_list_entry, &_hcd->periodic_sched_assigned);
+               list_move_tail(&qh->qh_list_entry, &_hcd->periodic_sched_assigned);
 
                ret_val = DWC_OTG_TRANSACTION_PERIODIC;
        }
@@ -2905,7 +2905,7 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t *_hcd)
                 * non-periodic active schedule.
                 */
                qh_ptr = qh_ptr->next;
-               list_move(&qh->qh_list_entry, &_hcd->non_periodic_sched_active);
+               list_move_tail(&qh->qh_list_entry, &_hcd->non_periodic_sched_active);
 
                if (ret_val == DWC_OTG_TRANSACTION_NONE) {
                        ret_val = DWC_OTG_TRANSACTION_NON_PERIODIC;
@@ -3152,7 +3152,7 @@ static void process_periodic_channels(dwc_otg_hcd_t *_hcd)
                         * Move the QH from the periodic assigned schedule to
                         * the periodic queued schedule.
                         */
-                       list_move(&qh->qh_list_entry, &_hcd->periodic_sched_queued);
+                       list_move_tail(&qh->qh_list_entry, &_hcd->periodic_sched_queued);
 
                        /* done queuing high bandwidth */
                        _hcd->core_if->queuing_high_bandwidth = 0;