Commit 5a8033a5 authored by Changpeng Liu's avatar Changpeng Liu
Browse files

examples/nvme/arbitration: only do the arbitration get/set_features for supported controllers



Change-Id: Ia34564688bdc0dca95d337519b80ef92ef90239d
Signed-off-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/463488


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
parent b97aa6da
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -253,6 +253,7 @@ register_ctrlr(struct spdk_nvme_ctrlr *ctrlr)
	int nsid, num_ns;
	struct spdk_nvme_ns *ns;
	struct ctrlr_entry *entry = calloc(1, sizeof(struct ctrlr_entry));
	union spdk_nvme_cap_register cap = spdk_nvme_ctrlr_get_regs_cap(ctrlr);
	const struct spdk_nvme_ctrlr_data *cdata = spdk_nvme_ctrlr_get_data(ctrlr);

	if (entry == NULL) {
@@ -280,7 +281,8 @@ register_ctrlr(struct spdk_nvme_ctrlr *ctrlr)
		register_ns(ctrlr, ns);
	}

	if (g_arbitration.arbitration_mechanism == SPDK_NVME_CAP_AMS_WRR) {
	if (g_arbitration.arbitration_mechanism == SPDK_NVME_CAP_AMS_WRR &&
	    (cap.bits.ams & SPDK_NVME_CAP_AMS_WRR)) {
		get_arb_feature(ctrlr);

		if (g_arbitration.arbitration_config != 0) {