Linux Wireless子系統初始化

來源:互聯網
上載者:User
1. cfg80211_init

    • cfg80211_wq工作隊列主要處理以下工作:

       1) 清除:wireless_dev.cleanup_work
       2) 掃描:cfg80211_registered_device.scan_done_wk
       3) 事件:cfg80211_registered_device.event_work

    • 註冊netlink,其名為:"nl80211",其操作為:nl80211_ops
    

net/wireless/core.c

static int __init cfg80211_init(void){int err;        // 註冊網路命名空間err = register_pernet_device(&cfg80211_pernet_ops);if (err)goto out_fail_pernet;        // 註冊ieee80211_class類err = wiphy_sysfs_init();if (err)goto out_fail_sysfs;        // 註冊網路通知,以接收網路事件err = register_netdevice_notifier(&cfg80211_netdev_notifier);if (err)goto out_fail_notifier;        // 註冊netlink "nl80211",其操作為nl80211_opserr = nl80211_init();if (err)goto out_fail_nl80211;        // 建立sys/class/ieee80211目錄ieee80211_debugfs_dir = debugfs_create_dir("ieee80211", NULL);err = regulatory_init();if (err)goto out_fail_reg;        // 建立名為“cfg80211”的核心線程cfg80211_wq = create_singlethread_workqueue("cfg80211");if (!cfg80211_wq)goto out_fail_wq;return 0;out_fail_wq:regulatory_exit();out_fail_reg:debugfs_remove(ieee80211_debugfs_dir);out_fail_nl80211:unregister_netdevice_notifier(&cfg80211_netdev_notifier);out_fail_notifier:wiphy_sysfs_exit();out_fail_sysfs:unregister_pernet_device(&cfg80211_pernet_ops);out_fail_pernet:return err;}subsys_initcall(cfg80211_init);

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.