diff -p -up rtl8187se_linux_26.1016.0716.2008/rtl8185/r8180_core.c.orig rtl8187se_linux_26.1016.0716.2008/rtl8185/r8180_core.c --- rtl8187se_linux_26.1016.0716.2008/rtl8185/r8180_core.c.orig 2008-07-16 06:00:06.000000000 -0400 +++ rtl8187se_linux_26.1016.0716.2008/rtl8185/r8180_core.c 2008-10-27 16:01:37.000000000 -0400 @@ -3967,7 +3967,7 @@ void watch_dog_adaptive(unsigned long da rtl8180_watch_dog((struct net_device *)data); //Add for RF power on power off by lizhaoming 080512 - queue_work(priv->ieee80211->wq,&priv->ieee80211->GPIOChangeRFWorkItem); + queue_delayed_work(priv->ieee80211->wq,&priv->ieee80211->GPIOChangeRFWorkItem, 0); priv->watch_dog_timer.expires = jiffies + MSECS(IEEE80211_WATCH_DOG_TIME); add_timer(&priv->watch_dog_timer);