aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/653-0009-rtl8xxxu-8188e-add-REG_TXDMA_OFFSET_CHK-quirk.patch
blob: 8a2821640c73f9b53f9a25ba6a47e33d474c6861 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
From 3ab047939db70fcae2a7c5993a8feaf3ac413e35 Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen@redhat.com>
Date: Wed, 29 Jun 2016 11:53:31 -0400
Subject: [PATCH] rtl8xxxu: 8188e add REG_TXDMA_OFFSET_CHK quirk

Enable quirk allowing TX DMA to drop redundant data of packet. This is
the same quirk enabled on gen2 parts.

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
---
 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 5 +++++
 1 file changed, 5 insertions(+)

--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
@@ -203,6 +203,7 @@ exit:
 static void rtl8188e_usb_quirks(struct rtl8xxxu_priv *priv)
 {
 	u16 val16;
+	u32 val32;
 
 	/*
 	 * Technically this is not a USB quirk, but a chip quirk.
@@ -212,6 +213,10 @@ static void rtl8188e_usb_quirks(struct r
 	val16 = rtl8xxxu_read16(priv, REG_CR);
 	val16 |= (CR_MAC_TX_ENABLE | CR_MAC_RX_ENABLE);
 	rtl8xxxu_write16(priv, REG_CR, val16);
+
+	val32 = rtl8xxxu_read32(priv, REG_TXDMA_OFFSET_CHK);
+	val32 |= TXDMA_OFFSET_DROP_DATA_EN;
+	rtl8xxxu_write32(priv, REG_TXDMA_OFFSET_CHK, val32);
 }
 
 struct rtl8xxxu_fileops rtl8188eu_fops = {