Ohad Ben-Cohen wrote: > Enable runtime pm for the wl1271 SDIO device. > > We request power whenever the WLAN interface is brought up, > and release it after the WLAN interface is taken down. > > As a result, power is released immediately after probe returns, > since at that point power has not been explicitly requested yet > (i.e. the WLAN interface is still down). [...] > @@ -233,6 +241,8 @@ static int __devinit wl1271_probe(struct sdio_func *func, > > sdio_set_drvdata(func, wl); > > + pm_runtime_put_noidle(&func->dev); I find this a little odd and confusing as this is releasing the reference taken by mmc core from inside the function driver. Instead, I would suggest changing all existing SDIO function drivers to call pm_runtime_get() in probe() and pm_runtime_put() in remove(). I think this makes the runtime PM usage more obvious from a function driver point of view. > + > wl1271_notice("initialized"); > > return 0; > @@ -255,6 +265,8 @@ static void __devexit wl1271_remove(struct sdio_func *func) > > wl1271_unregister_hw(wl); > wl1271_free_hw(wl); > + > + pm_runtime_get_noresume(&func->dev); > } > > static struct sdio_driver wl1271_sdio_driver = { David -- David Vrabel, Senior Software Engineer, Drivers CSR, Churchill House, Cambridge Business Park, Tel: +44 (0)1223 692562 Cowley Road, Cambridge, CB4 0WZ http://www.csr.com/ Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom -- 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