On 16.01.2019 22:59, Andrew Lunn wrote:
> On Wed, Jan 16, 2019 at 09:25:54PM +0100, Heiner Kallweit wrote:
>> The call to the phylib state machine in phy_stop() just ensures that
>> the state machine isn't re-triggered, but a state machine call may
>> be scheduled already. So lets's call phy_stop_machine().
>> This also allows to get rid of the call to phy_stop_machine() in
>> phy_disconnect().
>>
>> Signed-off-by: Heiner Kallweit <hkallwe...@gmail.com>
> 
> Reviewed-by: Andrew Lunn <and...@lunn.ch>
> 
> At some point it would be good to audit the code and see if anything
> is still used in interrupt context. PHY interrupt handling is now done
> in a threaded interrupt handler. So i think it is just callers to
> phy_mac_interrupt() that need to be checked. It could be the work
> queue can be removed and everything done synchronous.
> 
Yes, I think few calls to phy_trigger_machine() could be changed to be
synchronous. But I think the workqueue will still  be needed:
- for phy_mac_interrupt() which is typically called from hard irq
  context
- for polling link status (delayed work)

>     Andrew
> 
Heiner

Reply via email to