- 论坛徽章:
- 0
|
各位,我写个网络驱动,用到NAPI,在priv结构中定义了缓冲池,大概代码如下:- void drv_create_pool(struct net_device*dev)
- {
- struct drv_priv*priv=netdev_priv(dev);
- int i;
- struct drv_data* pool=NULL; /*drv_data结构是定义缓冲单元*/
- priv->drv_pool=NULL;/*drv_pool为其缓冲池首指针*/
- for(i=0;i<10;i++){
- pool=kmalloc(sizeof(struct drv_data),GFP_KERNEL);
- if(pool==NULL){
- return;
- }
- pool->dev=dev;
- pool->next=priv->drv_pool;
- priv->drv_pool=pool;
- }
- }
复制代码 问题来了,在给其分配缓冲池空间时候,kmalloc函数 在编译时候没有问题,但是insmod的时候,就不能加载进去,错误是: Unknown symbol in module
dmesg:
Unknown symbol kmem_cache_alloc_trace
我估计是kmalloc的问题,有什么解决办法吗??
|
|