lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 9 May 2014 00:14:14 +0400
From:	Paul Fertser <fercerpav@...il.com>
To:	"suresh.gupta@...escale.com" <suresh.gupta@...escale.com>
Cc:	"balbi@...com" <balbi@...com>,
	"LeoLi@...escale.com" <LeoLi@...escale.com>,
	"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] usb: gadget: fsl: check vbus presence on probe

On Thu, May 08, 2014 at 06:42:53PM +0000, suresh.gupta@...escale.com wrote:
> > > And Host might be attach after system bootup or after driver
> > > initialization. So putting this check in probe will not help much.
> > 
> > If the host is attached after the driver was initialised, the interrupt
> > will trigger and the driver will get notified that VBUS appeared and
> > everything will go smooth, at least that's how it should work (I do not
> > have any board handy to real-life check that, but AFAICT that's the
> > intent of the current code).
> 
> If is go through the code flow starting from usb_composite_probe the sequence is
> usb_composite_probe->usb_gadget_probe_driver->udc_bind_to_driver->
> udc_bind_to_driver->usb_gadget_udc_start->fsl_udc_start->usbcmd=RUN
> udc_bind_to_driver->usb_gadget_connect->fsl_pullup
> 
> The function fsl_pullup make usbcmd=STOP if my fix is not there and if controller 
> is stopped we do not get any interrupt. 

Are you really sure we can't get async VBUS state change notifications
until controller has USB_CMD_RUN_STOP bit set (and the same bit
actually controls internal 1.5k dataline pullup)? If yes, I guess it
means we need to check VBUS state _every_ time we set that bit to sync
the vbus_active variable with the actual hardware state (unless an
external OTG PHY is used and VBUS pad state is irrelevant)?

> > I actually do not have any iMX demoboards at all, I've only got some
> > custom-designed i.MX25 boards where I can't control VBUS, it's
> > permanently pulled up.
> > 
> > But I was fixing the problem that was clearly, 100% reproducibly
> > happening when VBUS was applied before the interrupt was configured. So
> 
> Wait a minute, are you using OTG. If your VBUS is permanently pulled up, that 
> means you are only Gadget(I might miss something) then why you use OTG mode.

I'm using FSL_USB2_DR_DEVICE mode (FSL_USB2_PHY_UTMI phy_mode), so the
OTG controller should always work in the device mode only.

> > what exactly do you mean here? Do you mean this check I've added doesn't
> > fix the bug? Or do you mean this bug should be fixed somehow else? Or do
> 
> What expertly my concern is, probe is not proper place to check VBUS valid.
> I think we should wait to hear what Balbi has to say. 

Yes, I hope he can understand both of us :)

-- 
Be free, use free (http://www.gnu.org/philosophy/free-sw.html) software!
mailto:fercerpav@...il.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ