Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 20a9de99 authored by Sara Sharon's avatar Sara Sharon Committed by Greg Kroah-Hartman
Browse files

iwlwifi: pcie: fix the set of DMA memory mask



commit 2c6262b754f3c3338cb40b23880a3ac1f4693b25 upstream.

Our 9000 device supports 64 bit DMA address for RX only, and
not for TX.
Setting DMA mask to 64 for the whole device is erroneous - we
can do it only for a000 devices where device is capable of
both RX & TX DMA with 64 bit address space.

Fixes: 96a6497b ("iwlwifi: pcie: add 9000 series multi queue rx DMA support")
Signed-off-by: default avatarSara Sharon <sara.sharon@intel.com>
Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 562c868d
Loading
Loading
Loading
Loading
+2 −6
Original line number Original line Diff line number Diff line
@@ -2929,16 +2929,12 @@ struct iwl_trans *iwl_trans_pcie_alloc(struct pci_dev *pdev,
				       PCIE_LINK_STATE_CLKPM);
				       PCIE_LINK_STATE_CLKPM);
	}
	}


	if (cfg->mq_rx_supported)
		addr_size = 64;
	else
		addr_size = 36;

	if (cfg->use_tfh) {
	if (cfg->use_tfh) {
		addr_size = 64;
		trans_pcie->max_tbs = IWL_TFH_NUM_TBS;
		trans_pcie->max_tbs = IWL_TFH_NUM_TBS;
		trans_pcie->tfd_size = sizeof(struct iwl_tfh_tfd);
		trans_pcie->tfd_size = sizeof(struct iwl_tfh_tfd);

	} else {
	} else {
		addr_size = 36;
		trans_pcie->max_tbs = IWL_NUM_OF_TBS;
		trans_pcie->max_tbs = IWL_NUM_OF_TBS;
		trans_pcie->tfd_size = sizeof(struct iwl_tfd);
		trans_pcie->tfd_size = sizeof(struct iwl_tfd);
	}
	}