title: unable to "rmmod" the module
body: <p>I'm working with a large embedded software (ARM processor, embedded linux 2.6.31, busybox) involving both kernel and user space code. There's a kernel module normally loaded first, and daemon establishing netlink socket with the module.</p>
  
  <p>The issue here is that after killing the daemon, I'm no longer able to unload the module from the memory:</p>
  
  <pre><code>% rmmod _module.ko
  % rmmod: _module.ko: Resource temporarily unavailable
  </code></pre>
  
  <p>Analysis has shown that error (return value is <code>-11</code>, i.e. <code>EAGAIN</code>?) is returned by <code>try_stop_module()</code> invoked in syscall <code>delete_module()</code> definition in <code>kernel/module.c</code>. Function try_stop_module() in turn calls stop_machine() and this is where I've stuck, as </p>
  
  <p>I'm not sure what's exactly happening there. I think the root cause is somewhere in the daemon that opens connections to the module and obviously something else and doesn't correctly close/clean-up on exit (apparently some references/locks are not released?)</p>
  
  <p>Does anybody have any idea what else to look at and probe?</p>