On Tue, Aug 7, 2018 at 10:48 AM Vivek Gautam <vivek.gautam@xxxxxxxxxxxxxx> wrote: > > Error paths in ufshcd_init() ufshcd_hba_exit() killed clk_scaling > workqueue when the workqueue is actually created quite late in > ufshcd_init(). > So, we end up getting NULL pointer dereference in such error paths. > Fix this by moving clk_scaling initialization and kill codes to > two separate methods, and call them at required places. > > Fixes: 401f1e4490ee ("scsi: ufs: don't suspend clock scaling during clock > gating") > > Signed-off-by: Vivek Gautam <vivek.gautam@xxxxxxxxxxxxxx> > Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> > Cc: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> > Cc: Matthias Kaehlcke <mka@xxxxxxxxxxxx> > Cc: Evan Green <evgreen@xxxxxxxxxxxx> > Cc: Martin K. Petersen <martin.petersen@xxxxxxxxxx> > --- > > Bjorn, Subhash, > I am not certain of some of these devfreq, and clk_scaling bits > that are moved as part of this patch. Please help in reviewing the > change in the light of these features, and related sequence should > be followed. > Thanks. > You're right, there is a lot of logic moving around here. I think this looks okay to me. Reviewed-by: Evan Green <evgreen@xxxxxxxxxxxx>