On Wed, 2007-10-10 at 12:28 -0400, Dan Williams wrote: > ipw2100 wasn't sending WEXT scan events at all on scan completion. > And > like ipw2200, the driver aggressively auto-scans, requiring > non-user-requested scan events to be batched together and sent at > specific intervals instead of many times per seconds. > > Signed-off-by: Dan Williams <dcbw@xxxxxxxxxx> Sorry for the late response. Please see my comments below. > + queue_delayed_work(priv->workqueue, > + &priv->scan_event_later, > + round_jiffies(msecs_to_jiffies(4000))); round_jiffies_relative instead? > @@ -6118,6 +6153,8 @@ static struct net_device > *ipw2100_alloc_device(struct pci_dev *pci_dev, > INIT_DELAYED_WORK(&priv->wx_event_work, > ipw2100_wx_event_work); > INIT_DELAYED_WORK(&priv->hang_check, ipw2100_hang_check); > INIT_DELAYED_WORK(&priv->rf_kill, ipw2100_rf_kill); > + INIT_WORK(&priv->scan_event_now, ipw2100_scan_event_now); > + INIT_DELAYED_WORK(&priv->scan_event_later, > ipw2100_scan_event_later); Except the work vs. delayed_work, they are doing the same thing. So you can replace scan_event_now by scan_event_later with delay = 0. Thanks, -yi - To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html