]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 1 Dec 2013 18:19:08 +0000 (10:19 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 1 Dec 2013 18:19:08 +0000 (10:19 -0800)
added patches:
staging-vt6656-fix-for-tx-usb-resets-from-vendors-driver.patch

queue-3.4/series
queue-3.4/staging-vt6656-fix-for-tx-usb-resets-from-vendors-driver.patch [new file with mode: 0644]

index 77fa03d478d0f5a328bcf172946f416f8b49cc16..a4019d60090b0e962a80ce316a55afb533fa2d4e 100644 (file)
@@ -24,3 +24,4 @@ mtd-map-fixed-bug-in-64-bit-systems.patch
 mtd-gpmi-fix-kernel-bug-due-to-racing-dma-operations.patch
 ext4-avoid-bh-leak-in-retry-path-of-ext4_expand_extra_isize_ea.patch
 xen-blkback-fix-reference-counting.patch
+staging-vt6656-fix-for-tx-usb-resets-from-vendors-driver.patch
diff --git a/queue-3.4/staging-vt6656-fix-for-tx-usb-resets-from-vendors-driver.patch b/queue-3.4/staging-vt6656-fix-for-tx-usb-resets-from-vendors-driver.patch
new file mode 100644 (file)
index 0000000..41992d8
--- /dev/null
@@ -0,0 +1,84 @@
+From 9df682927c2e3a92f43803d6b52095992e3b2ab8 Mon Sep 17 00:00:00 2001
+From: Malcolm Priestley <tvboxspy@gmail.com>
+Date: Thu, 7 Nov 2013 21:49:04 +0000
+Subject: staging: vt6656: [BUG] Fix for TX USB resets from vendors driver.
+
+From: Malcolm Priestley <tvboxspy@gmail.com>
+
+commit 9df682927c2e3a92f43803d6b52095992e3b2ab8 upstream.
+
+This fixes resets on heavy TX data traffic.
+
+Vendor driver
+VT6656_Linux_src_v1.21.03_x86_11.04.zip
+http://www.viaembedded.com/servlet/downloadSvl?id=1890&download_file_id=14704
+This is GPL-licensed code.
+
+original code
+BBbVT3184Init
+...
+//2007-0725, RobertChang add, Enable Squelch detect reset option(SQ_RST_Opt), USB (register4, bit1)
+CONTROLnsRequestIn(pDevice,
+                                 MESSAGE_TYPE_READ,
+                                 (WORD)0x600+4,     // USB's Reg4's bit1
+                                 MESSAGE_REQUEST_MEM,
+                                 1,
+                                 (PBYTE) &byData);
+byData = byData|2 ;
+CONTROLnsRequestOut(pDevice,
+                              MESSAGE_TYPE_WRITE,
+                              (WORD)0x600+4,     // USB's Reg4's bit1
+                              MESSAGE_REQUEST_MEM,
+                              1,
+                              (PBYTE) &byData);
+
+return TRUE;//ntStatus;
+....
+
+A back port patch is needed for kernels less than 3.10.
+
+Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/staging/vt6656/baseband.c |   11 +++++++++++
+ drivers/staging/vt6656/rndis.h    |    1 +
+ 2 files changed, 12 insertions(+)
+
+--- a/drivers/staging/vt6656/baseband.c
++++ b/drivers/staging/vt6656/baseband.c
+@@ -976,6 +976,7 @@ BOOL BBbVT3184Init(PSDevice pDevice)
+     PBYTE                   pbyAgc;
+     WORD                    wLengthAgc;
+     BYTE                    abyArray[256];
++      u8 data;
+     ntStatus = CONTROLnsRequestIn(pDevice,
+                                   MESSAGE_TYPE_READ,
+@@ -1144,6 +1145,16 @@ else {
+     ControlvWriteByte(pDevice,MESSAGE_REQUEST_BBREG,0x0D,0x01);
+     RFbRFTableDownload(pDevice);
++
++      /* Fix for TX USB resets from vendors driver */
++      CONTROLnsRequestIn(pDevice, MESSAGE_TYPE_READ, USB_REG4,
++              MESSAGE_REQUEST_MEM, sizeof(data), &data);
++
++      data |= 0x2;
++
++      CONTROLnsRequestOut(pDevice, MESSAGE_TYPE_WRITE, USB_REG4,
++              MESSAGE_REQUEST_MEM, sizeof(data), &data);
++
+     return TRUE;//ntStatus;
+ }
+--- a/drivers/staging/vt6656/rndis.h
++++ b/drivers/staging/vt6656/rndis.h
+@@ -69,6 +69,7 @@
+ #define VIAUSB20_PACKET_HEADER          0x04
++#define USB_REG4      0x604
+ /*---------------------  Export Classes  ----------------------------*/