[dpdk-dev] [PATCH v2] vhost: fix eventfd_link.ko insertion failure problem

Yuanhan Liu yuanhan.liu at linux.intel.com
Wed Nov 11 08:07:21 CET 2015


Acked-by: Yuanhan Liu <yuanhan.liu at linux.intel.com>

	--yliu
On Wed, Nov 11, 2015 at 02:57:23PM +0800, Xiaobo Chi wrote:
> Problem:if I firstly insert my kmod_test.ko, then insert eventfd_link.ko,
> error will happen with hint " Device or resource busy". This is because
> the default minor device number, 0, has been occupied by my kmod_test.ko .
> 
> root at distro:~/test$ lsmod
> Module                  Size  Used by
> kmod_test                927  0
> vboxsf                 35930  4
> vboxguest             222130  1 vboxsf
> microcode              10315  0
> autofs4                25051  0
> root at distro:~/test$ insmod ./eventfd_link.ko
> insmod: ERROR: could not insert module ./eventfd_link.ko: Device or
> resource busy
> 
> Explanation: For miscdevices, the major device_no is same, so the minor
> device_no should be set to ditinguish different misc devices;  if not set
> the minor, it may fail while insmod due to the default minor value, 0, has
> been used by other miscdevice. MISC_DYNAMIC_MINOR means to let Linux
> kernel dynamically assign one minor devide number while loading.
> 
> Signed-off-by: Xiaobo Chi <xiaobo.chi at nokia.com>
> ---
>  lib/librte_vhost/eventfd_link/eventfd_link.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/lib/librte_vhost/eventfd_link/eventfd_link.c b/lib/librte_vhost/eventfd_link/eventfd_link.c
> index c54a938..4b05b5a 100644
> --- a/lib/librte_vhost/eventfd_link/eventfd_link.c
> +++ b/lib/librte_vhost/eventfd_link/eventfd_link.c
> @@ -249,6 +249,7 @@ static const struct file_operations eventfd_link_fops = {
>  
>  
>  static struct miscdevice eventfd_link_misc = {
> +	.minor = MISC_DYNAMIC_MINOR,
>  	.name = "eventfd-link",
>  	.fops = &eventfd_link_fops,
>  };
> -- 
> 1.9.4.msysgit.2


More information about the dev mailing list