Index: linux-2.6.39.4/drivers/net/wireless/wl12xx/sdio.c =================================================================== --- linux-2.6.39.4.orig/drivers/net/wireless/wl12xx/sdio.c 2012-05-10 11:49:16.349486059 -0500 +++ linux-2.6.39.4/drivers/net/wireless/wl12xx/sdio.c 2012-05-10 16:36:15.009543390 -0500 @@ -241,7 +242,9 @@ wl->ref_clock = wlan_data->board_ref_clock; ret = request_threaded_irq(wl->irq, wl1271_hardirq, wl1271_irq, - IRQF_TRIGGER_HIGH | IRQF_ONESHOT, +// MTR: use rising edge interrupts, level doesn't work +// IRQF_TRIGGER_HIGH | IRQF_ONESHOT, + IRQF_TRIGGER_RISING, DRIVER_NAME, wl); if (ret < 0) { wl1271_error("request_irq() failed: %d", ret);