Re: [PATCH v5 1/4] usb: dbc: early driver for xhci debug capability

From: Lu Baolu
Date: Thu Feb 09 2017 - 00:59:09 EST


Hi Ingo,

On 01/26/2017 03:19 PM, Ingo Molnar wrote:
> * Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> wrote:
>
>> Fair enough.
>>
>> USB connection is stable enough, unless the user unplugs the
>> USB cable during debugging.
> What does the hardware do in this case? The XHCI registers are in the host
> hardware, so they won't disappear, right? Is there some cable connection status
> bit we can extract without interrupts?

The hardware has a register for the debug port status. Software is able to
check cable unplugging through this register.

>
> I.e. if there's any polling component then it would be reasonable to add an error
> component: poll the status and if it goes 'disconnected' then disable early-printk
> altogether in this case and trigger an emergency printk() so that there's chance
> that the user notices [if the system does not misbehave otherwise].

Sure. I will add a kernel thread to polling the errors. I will show you the
code in the new upcoming version.

Best regards,
Lu Baolu

>
> I.e. try to be as robust and informative as lockdep - yet don't lock up the host
> kernel: lockdep too is called from very deep internals, there are various
> conditions where it sees corrupt data structures (i.e. a 'disconnect' - a system
> environment outside the normal bounds of operation), yet of the kernel and over
> the last 10+ years of lockdep's existence we had very, very few cases of lockdep
> itself locking up and behaving unpredictably.
>
> Thanks,
>
> Ingo
>