From: Ben Hutchings Date: Sat, 13 Dec 2008 05:32:10 +0000 (-0800) Subject: sfc: Correct interpretation of second param to ethtool phys_id() X-Git-Tag: v2.6.29-rc1~581^2~230 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=65f667fb472d28c1594d862b213a564e292a466c;p=linux-block.git sfc: Correct interpretation of second param to ethtool phys_id() A value of 0 means indefinite repetition (until interrupted). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller --- diff --git a/drivers/net/sfc/ethtool.c b/drivers/net/sfc/ethtool.c index cd92c4d8dbc5..9c533e036a00 100644 --- a/drivers/net/sfc/ethtool.c +++ b/drivers/net/sfc/ethtool.c @@ -182,12 +182,16 @@ static struct efx_ethtool_stat efx_ethtool_stats[] = { */ /* Identify device by flashing LEDs */ -static int efx_ethtool_phys_id(struct net_device *net_dev, u32 seconds) +static int efx_ethtool_phys_id(struct net_device *net_dev, u32 count) { struct efx_nic *efx = netdev_priv(net_dev); efx->board_info.blink(efx, 1); - schedule_timeout_interruptible(seconds * HZ); + set_current_state(TASK_INTERRUPTIBLE); + if (count) + schedule_timeout(count * HZ); + else + schedule(); efx->board_info.blink(efx, 0); return 0; }