2016-10-20 4 views
-2

Я не могу понять одну вещь в файле net/wireless/nl80211.c, начиная с ядра 3.13. Почему есть следующее заявление, если в nl80211_start_radar_detection():Драйвер устройства беспроводной сети Linux

if (netif_carrier_ok(dev)) { 
    return -EBUSY; 
} 

Из того, что я понимаю, это означает, что мы не можем начать радиолокационное обнаружение, если наш носитель драйвера готов. Зачем? Не следует ли это будет

if (!netif_carrier_ok(dev)) { 
    return -EBUSY; 
} 

Благодаря

+0

Многие функции в мире Unix и POSIX возвращают нулевой успех и отрицательное число при сбое. Может быть, если вы проверите, что делает 'netif_carrier_ok' и что он вернет, вы узнаете лучше (и быстрее!), Чем просто размещение здесь? –

+0

Я уже сделал это, именно поэтому я задаю вопрос – Miza

+0

@Someprogrammerdude, netif_carier_ok возвращает 'bool'. Было бы действительно странно, если бы 0 означал успех. – Arkadiy

ответ

0

nl80211_start_radar_detection(): - это будет начать радиолокационное обнаружение и будет переходить из канала, если РЛС обнаружения.

но здесь netif_carrier_ok (dev), проверяя, поддерживает ли устройство эту несущую или нет, или мое устройство может работать на этом канале, а если не возвращаться с ошибкой.

не нужно продолжать будущее и проверять наличие радара.

Смежные вопросы