RE: The corner case for USB remote wakeup

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

 



 
> 
> > > It's very difficult for a general-purpose operating system like Linux
> > > (without the RT patch set) to guarantee that a certain action will be
> > > taken within a specific time limit.  If the delay between port
> suspend
> > > and putting the PHY in low power needs to be less than 5 ms then it
> > > ought to be handled in hardware, not in software.
> > >
> >
> > To implement this, it needs to add the code like ehci->has_hostpc at
> > ehci_bus_suspend and ehci_hub_control, it puts phy to low power mode
> > just after bus goes to suspend.
> 
> Even if we do that, it's still possible for ehci_bus_suspend to be
> preempted before the PHY is set to low power.  The preemption could
> last longer than 5 ms.
> 
> Your suggestion will make the problem less likely to occur, but the
> problem will still be possible.
>
No, at both ehci_bus_suspend and ehci_hub_control, the writing PORT_SUSPEND
is in_irq disabled context. It can put PHY to low power mode just after
bus has suspended (no spin_unlock_irqrestore need to be called after setting
bus enters low power mode).

> Alan Stern
> 


--
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


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

  Powered by Linux