usb: gadget: ci13xxx: fix ep list removal in gadget unregistering code
authorAlexander Shishkin <alexander.shishkin@linux.intel.com>
Fri, 4 May 2012 13:47:14 +0000 (16:47 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 8 May 2012 16:27:56 +0000 (09:27 -0700)
Since ep0{out,in} are never on gadget's ep_list, there's no need to try
to unlink them, even more so because ep_list linkage is not initialized
for these endpoints.

Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/ci13xxx_udc.c

index 1a44bf9c374fd41907f9c49a06873b18b5154d20..b6f359ce157ddce9b7a72b9c55d3407307adfee2 100644 (file)
@@ -2737,7 +2737,7 @@ static int ci13xxx_stop(struct usb_gadget_driver *driver)
        for (i = 0; i < hw_ep_max; i++) {
                struct ci13xxx_ep *mEp = &udc->ci13xxx_ep[i];
 
-               if (!list_empty(&mEp->ep.ep_list))
+               if (mEp->num)
                        list_del_init(&mEp->ep.ep_list);
 
                if (mEp->qh.ptr != NULL)