int bladerf_get_loopback(struct bladerf *dev, bladerf_loopback *l) { int status = BLADERF_ERR_UNEXPECTED; *l = BLADERF_LB_NONE; MUTEX_LOCK(&dev->ctrl_lock); if (version_greater_or_equal(&dev->fw_version, 1, 7, 1)) { bool fw_lb_enabled; status = dev->fn->get_firmware_loopback(dev, &fw_lb_enabled); if (status == 0 && fw_lb_enabled) { *l = BLADERF_LB_FIRMWARE; } } if (*l == BLADERF_LB_NONE) { status = lms_get_loopback_mode(dev, l); } MUTEX_UNLOCK(&dev->ctrl_lock); return status; }
int bladerf_get_loopback(struct bladerf *dev, bladerf_loopback *l) { /* NOTE: Cannot detect firmware loopback mode yet */ return lms_get_loopback_mode(dev, l); }