Re: Fwd: composite device fails to reset "suspended" flag

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> writes:
>> > You're using a really old kernel. Please try with v4.19.11 or v4.20-rc7
>> >
>> 
>> I have to use an altera patched kernel linux-socfpga to boot my board,
>> and it always lags behind mainline kernel.  If I really had to, I can
>> probably backport an individual driver (I already backported dwc2 from
>> 4.17).  Anyways, in principal is this a bug in dwc2 or libcomposite?
>> That is, is libcomposite correct in assuming the dwc2 should call the
>> gadget "resume" callback when the plug is reinserted?  Or should
>> libcomposite getting just the gadget "reset" be enough for it to know
>> it may need to update the suspended flag?
>> 
>> I played around with my hardware a bit more, and when I suspend/resume
>> the gadget from the host over the usb bus (rather than pulling out
>> then reinserting the physical cable) it works fine.  That is, the dwc2
>> hardware generates a suspend interrupt then later a resume/wakeup
>> interrupt which results in the gadget "resume" callback getting
>> called.
>> 
>> However, when pulling/reinserting the cable only the suspend interrupt
>> is generated.  When the cable is reinserted, there is no resume/wakeup
>> interrupt (only some usb reset interrupts) and thus the gadget
>> "resume" is never called.
>
> Maybe the problem is not lack of a resume callback but lack of a 
> disconnect callback.
>
> When an unplugged cable is plugged in again, it is not a resume event 
> but rather a connect event -- and the gadget API does not have 
> callbacks for connect events.
>
> When a cable is unplugged it initially appears to be a suspend, but 
> within a few milliseconds the UDC driver should realize what has 
> actually happened.  The disconnect callback should follow close on the 
> heels of the suspend callback.

after a quick glance at dwc2 driver, it seems like Disconnect Interrupt
isn't enabled. There's no handling for it. Minas, any comments?

-- 
balbi

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux