红联Linux门户
Linux帮助

使用dev_get_by_name的注意事项

发布时间:2008-07-31 21:57:05来源:红联作者:rchivedz
linux可以使用dev_get_by_name函数取得设备指针,但是使用是需要注意,使用过dev_get_by_name函数后一定要使用dev_put(pDev)函数取消设备引用,不然可能导致GET的设备无法正常卸载。

一般在将设备指针赋值给SKB->dev后就可以dev_put(pDev)

引用:
pDev = dev_get_by_name("sap1");
struct sk_buff *pIGMP_Query_skb_clone = NULL;
pIGMP_Query_skb_clone=skb_clone(pIGMP_Query_skb, GFP_ATOMIC);
pIGMP_Query_skb_clone->dev=pDev;
dev_put(pIGMP_Query_skb_clone->dev);
dev_queue_xmit(pIGMP_Query_skb_clone);
文章评论

共有 1 条评论

  1. justinkis 于 2011-08-02 20:31:22发表:

    求救,现在linux版本的dev_get_by_name有两个参数struct net_device *dev_get_by_name(struct net *net, const char *name)
    该怎么获取dev呢,楼主知道吗?求指点