Subject: Re: [PATCH] PHYLIB: Locking fixes for PHY I/O potentially sleeping

From: Haavard Skinnemoen <[email-masked]>
Date: Tue, 29 Jan 2008 21:12:00 +0100

On Tue, 29 Jan 2008 10:05:09 -0600
Nate Case <[email-masked]> wrote:

> +/* PHY timer which schedules the state machine work */
> +static void phy_timer(unsigned long data)
> +{
> +	struct phy_device *phydev = (struct phy_device *)data;
> +
> +	/*
> +	 * PHY I/O operations can potentially sleep so we ensure that
> +	 * it's done from a process context
> +	 */
> +	schedule_work(&phydev->state_queue);
> +}

If you use schedule_delayed_work() instead, you can get rid of the
timer.

Haavard