--- zzzz-none-000/linux-4.4.60/drivers/soc/qcom/smem.c 2017-04-08 07:53:53.000000000 +0000 +++ wasp-540e-714/linux-4.4.60/drivers/soc/qcom/smem.c 2019-07-03 09:21:34.000000000 +0000 @@ -702,6 +702,10 @@ u32 version; int ret; + hwlock_id = of_hwspin_lock_get_id(pdev->dev.of_node, 0); + if (hwlock_id < 0) + return -EPROBE_DEFER; + num_regions = 1; if (of_find_property(pdev->dev.of_node, "qcom,rpm-msg-ram", NULL)) num_regions++; @@ -739,12 +743,6 @@ if (ret < 0) return ret; - hwlock_id = of_hwspin_lock_get_id(pdev->dev.of_node, 0); - if (hwlock_id < 0) { - dev_err(&pdev->dev, "failed to retrieve hwlock\n"); - return hwlock_id; - } - smem->hwlock = hwspin_lock_request_specific(hwlock_id); if (!smem->hwlock) return -ENXIO;