From: Bhaumik Bhatt Date: Thu, 15 Oct 2020 18:47:51 +0000 (-0700) Subject: bus: mhi: core: Remove double locking from mhi_driver_remove() X-Git-Tag: v5.11-rc1~164^2~48^2~27 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9b627c25e70816a5e1dca940444b5029065b4d60;p=thirdparty%2Fkernel%2Flinux.git bus: mhi: core: Remove double locking from mhi_driver_remove() There is double acquisition of the pm_lock from mhi_driver_remove() function. Remove the read_lock_bh/read_unlock_bh calls for pm_lock taken during a call to mhi_device_put() as the lock is acquired within the function already. This will help avoid a potential kernel panic. Fixes: 189ff97cca53 ("bus: mhi: core: Add support for data transfer") Reported-by: Shuah Khan Signed-off-by: Bhaumik Bhatt Reviewed-by: Manivannan Sadhasivam Signed-off-by: Manivannan Sadhasivam --- diff --git a/drivers/bus/mhi/core/init.c b/drivers/bus/mhi/core/init.c index 0ffdebde82657..0a09f8215057d 100644 --- a/drivers/bus/mhi/core/init.c +++ b/drivers/bus/mhi/core/init.c @@ -1276,10 +1276,8 @@ static int mhi_driver_remove(struct device *dev) mutex_unlock(&mhi_chan->mutex); } - read_lock_bh(&mhi_cntrl->pm_lock); while (mhi_dev->dev_wake) mhi_device_put(mhi_dev); - read_unlock_bh(&mhi_cntrl->pm_lock); return 0; }