<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p><br>
</p>
<div class="moz-cite-prefix">On 12/20/2018 9:36 PM, Winkler, Tomas
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:5B8DA87D05A7694D9FA63FD143655C1B9DA5947E@hasmsx108.ger.corp.intel.com">
<pre>+static void __exit mei_hdcp_exit(void)<o:p></o:p></pre>
<pre>+{<o:p></o:p></pre>
<pre>+ mei_hdcp_component_cleanup(&cldev->dev);<o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Don’t think you can do that, no guarantees this will be valid pointer</span></pre>
</blockquote>
<pre>As we discussed offline, we have the below line at cleanup.
So valid pointer is made sure. I will protect init and cleanup with mutex too.
+static void mei_hdcp_component_cleanup(struct device *dev)
+{
+ if (!mei_hdcp_component_registered)
+ return;
-Ram
</pre>
<blockquote type="cite"
cite="mid:5B8DA87D05A7694D9FA63FD143655C1B9DA5947E@hasmsx108.ger.corp.intel.com">
<pre><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p></o:p></span></pre>
<pre><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></pre>
<pre>+ mei_cldev_driver_unregister(mei_hdcp_driver);<o:p></o:p></pre>
<pre>+}<o:p></o:p></pre>
<pre>+<o:p></o:p></pre>
<pre>+module_init(mei_hdcp_init);<o:p></o:p></pre>
<pre>+module_exit(mei_hdcp_exit);</pre>
</blockquote>
</body>
</html>