Author: hselasky
Date: Fri Jul  1 07:27:33 2016
New Revision: 302306
URL: https://svnweb.freebsd.org/changeset/base/302306

Log:
  Fix detection of USB device disconnects in USB host mode when the USB
  device is connected directly to the USB port of the DWC OTG, in this
  case a RPI-zero.
  
  PR:           210695
  Approved by:  re (gjb)
  MFC after:    1 week

Modified:
  head/sys/dev/usb/controller/dwc_otg.c

Modified: head/sys/dev/usb/controller/dwc_otg.c
==============================================================================
--- head/sys/dev/usb/controller/dwc_otg.c       Fri Jul  1 05:48:45 2016        
(r302305)
+++ head/sys/dev/usb/controller/dwc_otg.c       Fri Jul  1 07:27:33 2016        
(r302306)
@@ -2985,7 +2985,8 @@ dwc_otg_interrupt(void *arg)
                else
                        sc->sc_flags.status_bus_reset = 0;
 
-               if (hprt & HPRT_PRTENCHNG)
+               if ((hprt & HPRT_PRTENCHNG) &&
+                   (hprt & HPRT_PRTENA) == 0)
                        sc->sc_flags.change_enabled = 1;
 
                if (hprt & HPRT_PRTENA)
@@ -4745,6 +4746,8 @@ tr_handle_get_port_status:
 
        value = 0;
 
+       if (sc->sc_flags.change_enabled)
+               value |= UPS_C_PORT_ENABLED;
        if (sc->sc_flags.change_connect)
                value |= UPS_C_CONNECT_STATUS;
        if (sc->sc_flags.change_suspend)
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to