<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Maybe I had misunderstood your meaning.&nbsp;</div><div class="">You are meaning I have assign 0 to my device major number?&nbsp;</div><div class="">The major variable is reassigned by the kernel in blkplay_init function.</div><div class=""><br class=""></div><div class=""><a href="http://stackoverflow.com/questions/13518404/add-disk-hangs-on-insmod" class="">http://stackoverflow.com/questions/13518404/add-disk-hangs-on-insmod</a></div><div class="">This post solve the problem.</div><div class=""><br class=""></div><div class="">Now, I can compile it, insmod it. But it’s give me a permission error when I open the device.</div><div class=""><br class=""></div><div><blockquote type="cite" class=""><div class="">On Mar 21, 2016, at 10:55 AM, <a href="mailto:Valdis.Kletnieks@vt.edu" class="">Valdis.Kletnieks@vt.edu</a> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">On Mon, 21 Mar 2016 09:53:47 +0800, 张云 said:<br class=""><blockquote type="cite" class="">The code is just for learning block driver<br class=""></blockquote><br class="">THe kernel doesn't know that. &nbsp;You call a routine with the wrong<br class="">parameters, it will not work properly.<br class=""></div></div></blockquote></div><br class=""></body></html>