[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>fourteen
parent
219229e831
commit
082fd231c4
Loading…
Reference in new issue