【发布时间】:2017-03-02 12:36:17
【问题描述】:
从内核 3.13 开始,我无法理解 net/wireless/nl80211.c 文件中的一件事。为什么nl80211_start_radar_detection()中有如下if语句:
if (netif_carrier_ok(dev)) {
return -EBUSY;
}
据我了解,这意味着如果我们的驾驶员载体已准备好,我们将无法启动雷达检测。为什么?不应该是这样吗
if (!netif_carrier_ok(dev)) {
return -EBUSY;
}
谢谢
【问题讨论】:
-
Unix 和 POSIX 世界中的许多函数在成功时返回零,在失败时返回负数。也许如果你检查一下
netif_carrier_ok做了什么以及它返回了什么,你会发现比在这里发帖更好(而且更快!)? -
我已经这样做了,这正是我问这个问题的原因
-
@Someprogrammerdude,netif_carier_ok 返回
bool。如果 0 意味着成功,那就太奇怪了。 -
我猜你看的函数只能在WiFi接口不用于实际联网时调用
标签: c linux linux-kernel linux-device-driver wireless