[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5535F606.2070000@ti.com>
Date: Tue, 21 Apr 2015 10:02:30 +0300
From: Roger Quadros <rogerq@...com>
To: Alan Stern <stern@...land.harvard.edu>
CC: Peter Chen <peter.chen@...escale.com>,
<gregkh@...uxfoundation.org>, <balbi@...com>,
<dan.j.williams@...el.com>, <jun.li@...escale.com>,
<mathias.nyman@...ux.intel.com>, <tony@...mide.com>,
<linux-usb@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-omap@...r.kernel.org>
Subject: Re: [RFC][PATCH v2 06/13] usb: hcd: Add hcd add/remove functions
for OTG use
On 20/04/15 16:56, Alan Stern wrote:
> On Mon, 20 Apr 2015, Roger Quadros wrote:
>
>>> I don't understand this. Why do you want to defer the add/remove if
>>> the device is OTG? Don't host controller drivers expect these things
>>> to execute synchronously?
>>
>> Sorry for the wrong information. We actually defer only the add as the
>> OTG state machine might not yet be in Host ready mode.
>> The remove is always synchronous and we ensure that the HCD is removed
>> when usb_otg_unregister_hcd() returns.
>
> That's okay then, but it does leave one potential hole. What happens
> if usb_add_hcd() is deferred for so long that usb_remove_hcd() gets
> called before the add can complete?
We keep track of the HCD state in the OTG state machine and if it was not
yet added then _usb_remove_hcd() is not called during usb_otg_unregister_hcd()
in the usb_remove_hcd() call.
cheers,
-roger
--
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