[PATCH 4/4] net: phy: Use poller for periodic link check

Sascha Hauer s.hauer at pengutronix.de
Tue Sep 23 22:09:29 PDT 2014


On Thu, Sep 18, 2014 at 09:11:15AM +0200, Sascha Hauer wrote:
> This continuously updates the link status in the background. The networking
> code no longer has to periodically update the link status itself but instead
> can only check for phydev->link.
> With this we also always have link status changes printed to the console.

Nice try, but this doesn't work, so I'll drop this one.

The problem comes with USB network adapters (SPI would be the same).
pollers get called in is_timeout() loops like USB host drivers use
to poll for urb completion. So when network transfers happen and
the network driver issues USB requests it can happen that in the
USB host driver a poller triggers which with the periodic link check
now triggers a USB request itself. barebox can't (and shouldn't) handle
this reentrancy.

Sascha


-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list