* Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> wrote: > > Hi, > > On 01/25/2017 10:38 PM, Peter Zijlstra wrote: > > On Wed, Jan 25, 2017 at 08:27:38PM +0800, Lu Baolu wrote: > >> In my driver, udelay() is mostly used to handle time out. > >> > >> Xdbc hides most USB things in its firmware. Early printk driver only needs > >> to setup the registers/data structures and wait until link ready or time out. > >> Without udelay(), I have no means to convert the polling times into waiting > >> time. > > What is timeout and why? > > Put it in simple: > > The driver sets the RUN bit in control register and polls READY > bit in status register for the successful USB device enumeration. > As the USB device enumeration might fail and the READY bit will > never be set, the driver must have a timeout logic to avoid > endless loop. Is there any error status available in the host registers anywhere that tells us that enumeration did not succeed? Thanks, Ingo -- 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