From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Andreas Sturmlechner , Johannes Berg , Emmanuel Grumbach , Jianguo Wu , Andres Bertens , Ben Hutchings Subject: [PATCH 3.4 03/13] iwlwifi: Complete backport of "iwlwifi: always copy first 16 bytes of commands" Date: Fri, 28 Mar 2014 10:31:53 -0700 Message-Id: <20140328173053.522583654@linuxfoundation.org> In-Reply-To: <20140328173053.049244535@linuxfoundation.org> References: <20140328173053.049244535@linuxfoundation.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: 3.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: Ben Hutchings Linux 3.4.83 included an incomplete backport of commit 8a964f44e01ad3bbc208c3e80d931ba91b9ea786 ('iwlwifi: always copy first 16 bytes of commands') which causes a regression for this driver. This is the missing piece. Reported-by: Andreas Sturmlechner Cc: Johannes Berg Cc: Emmanuel Grumbach Cc: Jianguo Wu Cc: Andres Bertens Tested-by: Andreas Sturmlechner Signed-off-by: Ben Hutchings --- drivers/net/wireless/iwlwifi/iwl-trans-pcie-tx.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) --- a/drivers/net/wireless/iwlwifi/iwl-trans-pcie-tx.c +++ b/drivers/net/wireless/iwlwifi/iwl-trans-pcie-tx.c @@ -825,14 +825,15 @@ static int iwl_enqueue_hcmd(struct iwl_t trace_idx = 1; #endif + /* map the remaining (adjusted) nocopy/dup fragments */ for (i = 0; i < IWL_MAX_CMD_TFDS; i++) { - if (!cmd->len[i]) + if (!cmdlen[i]) continue; if (!(cmd->dataflags[i] & IWL_HCMD_DFL_NOCOPY)) continue; phys_addr = dma_map_single(trans->dev, - (void *)cmd->data[i], - cmd->len[i], DMA_BIDIRECTIONAL); + (void *)cmddata[i], + cmdlen[i], DMA_BIDIRECTIONAL); if (dma_mapping_error(trans->dev, phys_addr)) { iwlagn_unmap_tfd(trans, out_meta, &txq->tfds[q->write_ptr],