fix usb endpoint bug
authoryangkai <yk@rock-chips.com>
Fri, 30 Mar 2012 04:03:43 +0000 (12:03 +0800)
committeryangkai <yk@rock-chips.com>
Fri, 30 Mar 2012 04:03:43 +0000 (12:03 +0800)
drivers/usb/dwc_otg/dwc_otg_pcd.c

index 9732965493f6dfd63118fcc52012c8a914ba4940..76099b51e4a5f6a586ff4448f31c5d1dc5fe3ec1 100755 (executable)
@@ -1478,6 +1478,8 @@ void dwc_otg_pcd_reinit(dwc_otg_pcd_t *_pcd)
                         * here?  Before EP type is set?
                         */
                        ep->ep.maxpacket = MAX_PACKET_SIZE;
+                       
+                       INIT_LIST_HEAD (&ep->queue);
 
                        /**
                         * @yk@rk 20120329
@@ -1489,7 +1491,6 @@ void dwc_otg_pcd_reinit(dwc_otg_pcd_t *_pcd)
                #endif
                        list_add_tail (&ep->ep.ep_list, &_pcd->gadget.ep_list);
                                
-                       INIT_LIST_HEAD (&ep->queue);
                }
                hwcfg1 >>= 2;
        }
@@ -1539,6 +1540,8 @@ void dwc_otg_pcd_reinit(dwc_otg_pcd_t *_pcd)
                         */
                        ep->ep.maxpacket = MAX_PACKET_SIZE;
        
+                       INIT_LIST_HEAD (&ep->queue);
+                       
                        /**
                         * @yk@rk 20120329
                         * EP8&EP9 of rk30 are IN&OUT ep, we use ep9 as IN EP default
@@ -1549,7 +1552,6 @@ void dwc_otg_pcd_reinit(dwc_otg_pcd_t *_pcd)
                #endif
                        list_add_tail (&ep->ep.ep_list, &_pcd->gadget.ep_list);
                                
-                       INIT_LIST_HEAD (&ep->queue);
                }
                hwcfg1 >>= 2;
        }