]> err.no Git - linux-2.6/commitdiff
[PATCH] ipw2200: rf kill switch polling power saving
authorStephen Hemminger <shemminger@linux-foundation.org>
Sat, 23 Jun 2007 04:34:06 +0000 (21:34 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 10 Jul 2007 17:59:48 +0000 (13:59 -0400)
Make the ipw2200 driver polling of rf kill switch occur on second boundaries to reduce
power. Making all the wakeup's in the system occur together reduces power, and keeps
CPU in idle longer.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ipw2200.c

index 7cb2052a55a5e085d73605c40fa8db4f78e91c72..aa32a97380ecb664152fab018552f561d7a71aa5 100644 (file)
@@ -1751,7 +1751,7 @@ static int ipw_radio_kill_sw(struct ipw_priv *priv, int disable_radio)
                        /* Make sure the RF_KILL check timer is running */
                        cancel_delayed_work(&priv->rf_kill);
                        queue_delayed_work(priv->workqueue, &priv->rf_kill,
-                                          2 * HZ);
+                                          round_jiffies(2 * HZ));
                } else
                        queue_work(priv->workqueue, &priv->up);
        }
@@ -4690,7 +4690,8 @@ static void ipw_rx_notification(struct ipw_priv *priv,
                        else if (priv->config & CFG_BACKGROUND_SCAN
                                 && priv->status & STATUS_ASSOCIATED)
                                queue_delayed_work(priv->workqueue,
-                                                  &priv->request_scan, HZ);
+                                                  &priv->request_scan,
+                                                  round_jiffies(HZ));
 
                        /* Send an empty event to user space.
                         * We don't send the received data on the event because