for (i = 0; i < MAX_MACS_IN_BINDING; i++)
cmd.macs[i] = cpu_to_le32(FW_CTXT_INVALID); for (i = 0; i < data->idx; i++)
cmd.macs[i] = cpu_to_le32(FW_CMD_ID_AND_COLOR(data->ids[i],
data->colors[i]));
status = 0;
ret = iwl_mvm_send_cmd_pdu_status(mvm, BINDING_CONTEXT_CMD,
size, &cmd, &status); if (ret) {
IWL_ERR(mvm, "Failed to send binding (action:%d): %d\n",
action, ret); return ret;
}
if (status) {
IWL_ERR(mvm, "Binding command failed: %u\n", status);
ret = -EIO;
}
/* * If there are no other interfaces yet we * need to create a new binding.
*/ if (data.idx == 0) { if (add)
action = FW_CTXT_ACTION_ADD; else
action = FW_CTXT_ACTION_REMOVE;
}
if (add) { if (WARN_ON_ONCE(data.idx >= MAX_MACS_IN_BINDING)) return -EINVAL;
if (WARN_ON_ONCE(!mvmvif->deflink.phy_ctxt)) return -EINVAL;
/* * Update SF - Disable if needed. if this fails, SF might still be on * while many macs are bound, which is forbidden - so fail the binding.
*/ if (iwl_mvm_sf_update(mvm, vif, false)) return -EINVAL;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.