On Sat, Jan 15, 2011 at 12:33:13AM +0100, Denis 'GNUtoo' Carikli wrote: > The problem is the following: > When I do that: > modprobe msm_wifi, wich is the old wifi activator from bob copeland > available here: > http://bobcopeland.com/srcs/android/msm_wifi.patch > > it freeze the phone, and watch -n 0.1 cat /proc/interupts trough ssh > seem frozen too > > Here's the code for passing the data : > > static void trout_wl1251_init(void) > { > struct wl12xx_platform_data trout_wl1251_pdata; > int ret; > > trout_wl1251_pdata.irq = MSM_GPIO_TO_INT(29); > if (trout_wl1251_pdata.irq < 0) > goto fail_irq; This can't ever be true, right? > trout_wl1251_pdata.use_eeprom = false; > ret = wl12xx_set_platform_data(&trout_wl1251_pdata); > if (ret < 0) > goto fail_irq; More often one uses "if (ret)" unless ret > 0 has special meaning. > fail_irq: > printk("trout wifi GPIO failed\n"); > gpio_free(TROUT_WIFI_IRQ_GPIO); But you always free a gpio here, shouldn't there be a return in there before the fail_irq label? > } > > How should I start debugging that issue? do I need a serial cable for my > device and kgdb(doesn't serial need IRQ?, maybe I should look how msm > serial works)? It could be an interrupt storm, but check the above code, and also make sure you still have the dummy msm_wifi platform device too, and that the msm_wifi driver is getting a struct wifi_platform_data. Unfortunately, I don't know of an easy way to debug livelocks due to interrupt storms other than by disabling everything and then enabling one thing at a time until it breaks again. It's obviously going to be a lot of work, but if you can manage to get a current kernel booting on your hardware and dump the msm_wifi module, that would be the ideal approach. -- Bob Copeland %% www.bobcopeland.com -- 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