From b471d17decb9bee804e0f8f53c46e9d8188b20b1 Mon Sep 17 00:00:00 2001 From: Maya Erez Date: Mon, 4 Apr 2016 23:53:46 +0300 Subject: [PATCH] wil6210: disable PCIe relaxed ordering In previous commit cd958296acba ("wil6210: enable WA for PCIe HW errata") relaxed ordering (bit 5) was set, in addition to the 'No snoop" setting. Enabling relaxed ordering can cause a race condition between the write transactions and interrupts when using INT instead of MSI. As relaxed ordering is not required to resolve the PCIe HW issue, it should be disabled. CRs-Fixed: 998870 Change-Id: I53113d6454de577d4e68f226975a078889d6b2c3 Signed-off-by: Maya Erez --- drivers/net/wireless/ath/wil6210/main.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/wireless/ath/wil6210/main.c b/drivers/net/wireless/ath/wil6210/main.c index eda09f94d8f2..f1bdcf4c783b 100644 --- a/drivers/net/wireless/ath/wil6210/main.c +++ b/drivers/net/wireless/ath/wil6210/main.c @@ -617,8 +617,7 @@ static int wil_target_reset(struct wil6210_priv *wil) BIT_DMA_OFUL_NID_0_RX_EXT_A3_SRC); /* Enable fix for PCIe HW bug, set "No snoop" for RX transactions */ - wil_s(wil, RGF_DMA_PEDI_DIF, BIT_DMA_WR_CMD_ATTR_NO_SNOOP | - BIT_DMA_WR_CMD_ATTR_RELAXED_ORDERING); + wil_s(wil, RGF_DMA_PEDI_DIF, BIT_DMA_WR_CMD_ATTR_NO_SNOOP); wil_dbg_misc(wil, "Reset completed in %d ms\n", delay * RST_DELAY); return 0;