scsi: ufs: fix wrong sequence of lrb_in_use and pm
[1] tried to fix wrong lrbp=NULL after clear_bit_unlock, which caused a race condition. But, it caused a power regression since __ufshcd_release was called before lrb_in_use is released. Actually, we should have followed the sequence: 1. lrbp->cmd = NULL 2. clear_bit_unlock() 3. __ufshcd_release() 4. __ufshcd_hibern8_release() Let's add right fix. [1] f0e7e5baba0a (scsi: ufs: Avoid potential lrb race caused by early release of lrb_in_use") Bug: 157450639 Fixes: 639e1063a57e ("Revert "scsi: ufs: Avoid potential lrb race caused by early release of lrb_in_use"") Fixes: f0e7e5baba0a (scsi: ufs: Avoid potential lrb race caused by early release of lrb_in_use") Signed-off-by:Jaegeuk Kim <jaegeuk@google.com> Change-Id: If738dc3e8e9caa7eee28c729dea3a47a3ed56b97 [dereference23: Apply to msm-4.14] Signed-off-by:
Alexander Winkowski <dereference23@outlook.com> Signed-off-by:
Pranav Vashi <neobuddy89@gmail.com>
Loading
Please register or sign in to comment