slimbus: core: do not call device_status under a lock
Calling device_status callback under a lock would prevent drivers to do any slimbus trasactions which would invoke this lock like get_laddr(). Remove this unnecessary lock! Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
8631f940b8
commit
cfb32101ba
@@ -466,6 +466,7 @@ static int slim_device_alloc_laddr(struct slim_device *sbdev,
|
|||||||
|
|
||||||
sbdev->laddr = laddr;
|
sbdev->laddr = laddr;
|
||||||
sbdev->is_laddr_valid = true;
|
sbdev->is_laddr_valid = true;
|
||||||
|
mutex_unlock(&ctrl->lock);
|
||||||
|
|
||||||
slim_device_update_status(sbdev, SLIM_DEVICE_STATUS_UP);
|
slim_device_update_status(sbdev, SLIM_DEVICE_STATUS_UP);
|
||||||
|
|
||||||
@@ -473,6 +474,8 @@ static int slim_device_alloc_laddr(struct slim_device *sbdev,
|
|||||||
laddr, sbdev->e_addr.manf_id, sbdev->e_addr.prod_code,
|
laddr, sbdev->e_addr.manf_id, sbdev->e_addr.prod_code,
|
||||||
sbdev->e_addr.dev_index, sbdev->e_addr.instance);
|
sbdev->e_addr.dev_index, sbdev->e_addr.instance);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
err:
|
err:
|
||||||
mutex_unlock(&ctrl->lock);
|
mutex_unlock(&ctrl->lock);
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
Reference in New Issue
Block a user