On Fri, Mar 20, 2015 at 11:07:17AM +0800, Peter Chen wrote: > On Thu, Mar 19, 2015 at 11:11:17AM +0800, Li Jun wrote: > > HNP polling is a mechanism which allows the OTG device currently acting as host > > to determine when the other attached OTG device wishes to take the host role. > > When an OTG host, which supports HNP, is connected to an OTG peripheral which > > also supports HNP it shall poll the peripheral regularly to determine whether > > it requires a role-swap and grant this at the earliest opportunity. > > > > changes for v4: > > - Add OTG HNP capable check for connected device before sending HNP polling > > in patch 3/8. > > - Add comment to explain HNP test update in chipidea.txt in patch 8/8. > > - Fix some typo. > > - Add Peter's Ack in patch 1,2,4,5,6,7/8 of the series. > > > > Have a test with your patch set, one problem has been found, for how to > re-produce: > - Connect USB cable and MicroAB cable between two boards > - Boot up two boards > - load g_mass_storage at B-device side, the enumeration will success, > and A will see a usb mass-storage device > - load g_mass_storage at A-device side, the problem has occurred, the > connection will be lost at the beginning, then connect again. See below > log: > > root@imx6sxsabresd:~# modprobe g_mass_storage file=/dev/mmcblk0p1 > [ 19.311974] Number of LUNs=8 > [ 19.314903] Mass Storage Function, version: 2009/09/11 > [ 19.320192] LUN: removable file: (no medium) > [ 19.324520] Number of LUNs=1 > [ 19.327888] LUN: file: /dev/mmcblk0p1 > [ 19.331568] Number of LUNs=1 > [ 19.336831] g_mass_storage gadget: Mass Storage Gadget, > version: 2009/09/11 > [ 19.343817] g_mass_storage gadget: userspace failed to > provide iSerialNumber > [ 19.350912] g_mass_storage gadget: g_mass_storage ready > root@imx6sxsabresd:~# [ 19.396639] usb 1-1: USB disconnect, > device number 2 > [ 19.423829] sd 0:0:0:0: [sda] Synchronizing SCSI cache > [ 19.430245] sd 0:0:0:0: [sda] Synchronize Cache(10) failed: > Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK > [ 19.446612] usb 1-1: Get one byte OTG status failed > [ 19.735877] usb 1-1: new high-speed USB device number 3 using > ci_hdrc > [ 19.887394] usb 1-1: Dual-Role OTG device on HNP port > [ 19.905834] usb-storage 1-1:1.0: USB Mass Storage device > detected > [ 19.912812] usb-storage 1-1:1.0: Quirks match for vid 0525 > pid a4a5: 10000 > [ 19.922080] scsi host1: usb-storage 1-1:1.0 > [ 20.927712] scsi 1:0:0:0: Direct-Access Linux > File-Stor Gadget 0400 PQ: 0 ANSI: 2 > [ 20.956936] sd 1:0:0:0: [sda] 1024000 512-byte logical > blocks: (524 MB/500 MiB) > [ 21.069069] sd 1:0:0:0: [sda] Write Protect is off > [ 21.179176] sd 1:0:0:0: [sda] Write cache: enabled, read > cache: enabled, doesn't support DPO or FUA > [ 21.420525] sda: > > [ 21.649297] sd 1:0:0:0: [sda] Attached SCSI disk > This is because latest pullup DP change(fully controlled by udc-core) introduced but it's not in my code base, I will create a patch to adapt it to OTG fsm driver. 467a78c usb: chipidea: udc: apply new usb_udc_vbus_handler interface 628ef0d usb: udc: add usb_udc_vbus_handler dfea9c9 usb: udc: store usb_udc pointer in struct usb_gadget Li Jun > > -- > > Best Regards, > Peter Chen -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html