>> Probably not relevant to power saving, but: >> >> Are you using the dedicated irq line or sdio interrupt? >> It makes a big difference in overall throughput to use >> the former. > I don't know. what should I grep for? It might actually be related.. Try adding this to your board file to enable GPIO irq: static void wl1251_set_power(bool enable) { } static struct wl12xx_platform_data wl1251_pdata = { .set_power = wl1251_set_power, }; static struct platform_device wl1251_data = { .name = "wl1251_data", .id = -1, .dev = { .platform_data = &wl1251_pdata, }, }; .. then from some init function: // WIFI_IRQ_GPIO is the GPIO number connected to wl1251 irq line wl1251_pdata.irq = gpio_to_irq(WIFI_IRQ_GPIO); platform_device_register(&wl1251_pdata); > >> > + /* >> > + * FIXME: scanning while associated causes lockups, >> > + * so we don't allow that >> > + */ >> > + if (wl->associated) >> > + return -EBUSY; >> >> Any idea why? Could you turn on lockdep? > No I just used the patches that weren't mine > I took them from openpandora wireless repository,looked if they were > already included,and include the one that weren't. This is a workaround we use on pandora, otherwise with NetworkManager running the driver locks up. I didn't have a chance to properly debug this, but I can do some backtraces if you are interested. -- 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