dwusb: fix no response on set_config

Since some bits of DCTL are clear by fault.

Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
diff --git a/Drivers/Usb/DwUsb3Dxe/DwUsb3Dxe.c b/Drivers/Usb/DwUsb3Dxe/DwUsb3Dxe.c
index e324f38..e9111f9 100644
--- a/Drivers/Usb/DwUsb3Dxe/DwUsb3Dxe.c
+++ b/Drivers/Usb/DwUsb3Dxe/DwUsb3Dxe.c
@@ -1688,7 +1688,6 @@
 {
   if (online) {
 }
-#endif
 
 VOID
 DwUsb3SetConfig (
@@ -1699,6 +1698,7 @@
   UINT16         wvalue = ctrl->wValue;
   usb3_pcd_ep_t     *ep;
 
+DEBUG ((DEBUG_ERROR, "#%a, %d, wvalue:0x%x\n", __func__, __LINE__, wvalue));
   if (ctrl->bmRequestType != (UT_WRITE | UT_STANDARD | UT_DEVICE)) {
     EndPoint0DoStall (pcd);
     return;
@@ -1730,12 +1730,14 @@
     } else {
       pcd->state = USB3_STATE_ADDRESSED;
     }
+DEBUG ((DEBUG_ERROR, "#%a, %d, state:%d\n", __func__, __LINE__, pcd->state));
     pcd->ep0.is_in = 1;
     pcd->ep0state = EP0_IN_WAIT_NRDY;
   } else {
     EndPoint0DoStall (pcd);
   }
 }
+#endif
 
 STATIC
 VOID
@@ -1768,6 +1770,7 @@
   UINT16  wvalue = ctrl->wValue;
   usb3_pcd_ep_t  *ep;
 
+DEBUG ((DEBUG_ERROR, "#%a, %d, wvalue:0x%x\n", __func__, __LINE__, wvalue));
   if (ctrl->bmRequestType != (UT_WRITE | UT_STANDARD | UT_DEVICE)) {
     EndPoint0DoStall (pcd);
     return;
@@ -1795,6 +1798,7 @@
     } else {
       pcd->state = USB3_STATE_ADDRESSED;
     }
+DEBUG ((DEBUG_ERROR, "#%a, %d, state:%d\n", __func__, __LINE__, pcd->state));
     pcd->ep0.is_in = 1;
     pcd->ep0state = EP0_IN_WAIT_NRDY;
   } else {
@@ -2028,9 +2032,9 @@
     break;
   case UR_SET_CONFIG:
     DwUsb3DoSetConfig (pcd);
-    MmioAnd32 (DCTL, DCTL_ACCEPT_U1_EN);
-    MmioAnd32 (DCTL, DCTL_ACCEPT_U2_EN);
-    DEBUG ((DEBUG_INFO, "enum done"));
+    MmioOr32 (DCTL, DCTL_ACCEPT_U1_EN);
+    MmioOr32 (DCTL, DCTL_ACCEPT_U2_EN);
+    DEBUG ((DEBUG_ERROR, "enum done"));
     pcd->ltm_enable = 0;
     break;
   case UR_GET_CONFIG: