On Thu, Aug 21, 2014 at 06:20:47PM +0530, Subhransu S. Prusty wrote: > + /* When fw_clear_cache is set, clear the cached firmware copy */ > + /* fw_clear_cache is set through debugfs support */ Not in this patch series! > + if (atomic_read(&ctx->fw_clear_cache) && ctx->fw_in_mem) { Why is this an atomic operation? They're a bit of an alarm bell for correctness and it'd seem useful if the clear just happened immediately anyway. > + if (ret) { > + pr_err("FW download fail %x\n", ret); > + ctx->sst_state = SST_RESET; > + mutex_unlock(&ctx->sst_lock); > + sst_pm_runtime_put(ctx); This is a runtime_pm_put() in the runtime PM callback? That doesn't look right.