Hi Pontus, On Wed, Dec 21, 2011 at 1:41 PM, Pontus Fuchs <pontus.fuchs@xxxxxxxxx> wrote: > On rmmod wl12xx will leave the sdio host powered off, regardless > off runtime PM being enabled or not. This leads to probe failure on > a second insmod, if runtime pm is disabled, because the sdio core > expects the host to be powered on. Just gave this patch a quick glance, and it looks rather nasty :) > @@ -223,8 +229,8 @@ static int __devinit wl1271_probe(struct sdio_func *func, > > sdio_set_drvdata(func, glue); > > - /* Tell PM core that we don't need the card to be powered now */ > - pm_runtime_put_noidle(&func->dev); > + /* Power off as we don't need the card to be powered now */ > + wl12xx_sdio_power_off(func); This in particular looks wrong. You bypass runtime PM by manipulating the power state of the card directly, and as a result you leave the runtime PM state out of sync with the real power state of the device. This is very unhealthy, and can lead to the system powering on the card on certain events (e.g. on system resume) even when the wlan interface is down. Regards, Ohad. -- 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