On 09/09/2023 22:16, Mukesh Ojha wrote: > static int qcom_apss_minidump_probe(struct platform_device *pdev) > { > struct minidump_global_toc *mdgtoc; > @@ -571,7 +688,10 @@ static int qcom_apss_minidump_probe(struct platform_device *pdev) > return ret; > } > > + mutex_lock(&md_plist.plock); > platform_set_drvdata(pdev, md); Why this is locked? > + qcom_apss_register_pending_regions(md); Why this one is locked? It seems ordering of your operations is not correct if you need to lock the providers probe(). > + mutex_unlock(&md_plist.plock); Best regards, Krzysztof