]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 19 Jan 2013 00:48:32 +0000 (16:48 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 19 Jan 2013 00:48:32 +0000 (16:48 -0800)
added patches:
serial-ifx6x60-delete-spi-timer-when-shut-down-port.patch
staging-vt6656-fix-inconsistent-structure-packing.patch
staging-wlan-ng-fix-clamping-of-returned-ssid-length.patch
tty-8250_dw-fix-inverted-arguments-to-serial_out-in-irq-handler.patch
usb-option-add-tp-link-hsupa-modem-ma180.patch
usb-option-blacklist-network-interface-on-onda-mt8205-4g-lte.patch

queue-3.4/serial-ifx6x60-delete-spi-timer-when-shut-down-port.patch [new file with mode: 0644]
queue-3.4/series
queue-3.4/staging-vt6656-fix-inconsistent-structure-packing.patch [new file with mode: 0644]
queue-3.4/staging-wlan-ng-fix-clamping-of-returned-ssid-length.patch [new file with mode: 0644]
queue-3.4/tty-8250_dw-fix-inverted-arguments-to-serial_out-in-irq-handler.patch [new file with mode: 0644]
queue-3.4/usb-option-add-tp-link-hsupa-modem-ma180.patch [new file with mode: 0644]
queue-3.4/usb-option-blacklist-network-interface-on-onda-mt8205-4g-lte.patch [new file with mode: 0644]

diff --git a/queue-3.4/serial-ifx6x60-delete-spi-timer-when-shut-down-port.patch b/queue-3.4/serial-ifx6x60-delete-spi-timer-when-shut-down-port.patch
new file mode 100644 (file)
index 0000000..6b31b7b
--- /dev/null
@@ -0,0 +1,31 @@
+From 014b9b4ce84281ccb3d723c792bed19815f3571a Mon Sep 17 00:00:00 2001
+From: chao bi <chao.bi@intel.com>
+Date: Wed, 12 Dec 2012 11:40:56 +0800
+Subject: serial:ifx6x60:Delete SPI timer when shut down port
+
+From: chao bi <chao.bi@intel.com>
+
+commit 014b9b4ce84281ccb3d723c792bed19815f3571a upstream.
+
+When shut down SPI port, it's possible that MRDY has been asserted and a SPI
+timer was activated waiting for SRDY assert, in the case, it needs to delete
+this timer.
+
+Signed-off-by: Chen Jun <jun.d.chen@intel.com>
+Signed-off-by: channing <chao.bi@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/tty/serial/ifx6x60.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/tty/serial/ifx6x60.c
++++ b/drivers/tty/serial/ifx6x60.c
+@@ -552,6 +552,7 @@ static void ifx_port_shutdown(struct tty
+               container_of(port, struct ifx_spi_device, tty_port);
+       mrdy_set_low(ifx_dev);
++      del_timer(&ifx_dev->spi_timer);
+       clear_bit(IFX_SPI_STATE_TIMER_PENDING, &ifx_dev->flags);
+       tasklet_kill(&ifx_dev->io_work_tasklet);
+ }
index dae5256ece7572b1e73a0448af4c0ffa477236bc..697d6570adc065b257888d2c31085904e639dbf2 100644 (file)
@@ -13,3 +13,9 @@ igb-release-already-assigned-msi-x-interrupts-if-setup-fails.patch
 drbd-add-missing-part_round_stats-to-_drbd_start_io_acct.patch
 xen-grant-table-correctly-initialize-grant-table-version-1.patch
 xen-fix-stack-corruption-in-xen_failsafe_callback-for-32bit-pvops-guests.patch
+usb-option-add-tp-link-hsupa-modem-ma180.patch
+usb-option-blacklist-network-interface-on-onda-mt8205-4g-lte.patch
+serial-ifx6x60-delete-spi-timer-when-shut-down-port.patch
+tty-8250_dw-fix-inverted-arguments-to-serial_out-in-irq-handler.patch
+staging-wlan-ng-fix-clamping-of-returned-ssid-length.patch
+staging-vt6656-fix-inconsistent-structure-packing.patch
diff --git a/queue-3.4/staging-vt6656-fix-inconsistent-structure-packing.patch b/queue-3.4/staging-vt6656-fix-inconsistent-structure-packing.patch
new file mode 100644 (file)
index 0000000..e8d4311
--- /dev/null
@@ -0,0 +1,238 @@
+From 1ee4c55fc9620451b2a825d793042a7e0775391b Mon Sep 17 00:00:00 2001
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Mon, 14 Jan 2013 01:29:17 +0000
+Subject: staging: vt6656: Fix inconsistent structure packing
+
+From: Ben Hutchings <ben@decadent.org.uk>
+
+commit 1ee4c55fc9620451b2a825d793042a7e0775391b upstream.
+
+vt6656 has several headers that use the #pragma pack(1) directive to
+enable structure packing, but never disable it.  The layout of
+structures defined in other headers can then depend on which order the
+various headers are included in, breaking the One Definition Rule.
+
+In practice this resulted in crashes on x86_64 until the order of header
+inclusion was changed for some files in commit 11d404cb56ecd ('staging:
+vt6656: fix headers and add cfg80211.').  But we need a proper fix that
+won't be affected by future changes to the order of inclusion.
+
+This removes the #pragma pack(1) directives and adds __packed to the
+structure definitions for which packing appears to have been intended.
+
+Reported-and-tested-by: Malcolm Priestley <tvboxspy@gmail.com>
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/staging/vt6656/bssdb.h |    1 -
+ drivers/staging/vt6656/int.h   |    1 -
+ drivers/staging/vt6656/iocmd.h |   33 ++++++++++++++++-----------------
+ drivers/staging/vt6656/iowpa.h |    8 +++-----
+ 4 files changed, 19 insertions(+), 24 deletions(-)
+
+--- a/drivers/staging/vt6656/bssdb.h
++++ b/drivers/staging/vt6656/bssdb.h
+@@ -92,7 +92,6 @@ typedef struct tagSRSNCapObject {
+ } SRSNCapObject, *PSRSNCapObject;
+ // BSS info(AP)
+-#pragma pack(1)
+ typedef struct tagKnownBSS {
+     // BSS info
+     BOOL            bActive;
+--- a/drivers/staging/vt6656/int.h
++++ b/drivers/staging/vt6656/int.h
+@@ -34,7 +34,6 @@
+ #include "device.h"
+ /*---------------------  Export Definitions -------------------------*/
+-#pragma pack(1)
+ typedef struct tagSINTData {
+     BYTE    byTSR0;
+     BYTE    byPkt0;
+--- a/drivers/staging/vt6656/iocmd.h
++++ b/drivers/staging/vt6656/iocmd.h
+@@ -95,13 +95,12 @@ typedef enum tagWZONETYPE {
+ // Ioctl interface structure
+ // Command structure
+ //
+-#pragma pack(1)
+ typedef struct tagSCmdRequest {
+       u8 name[16];
+       void    *data;
+       u16         wResult;
+       u16     wCmdCode;
+-} SCmdRequest, *PSCmdRequest;
++} __packed SCmdRequest, *PSCmdRequest;
+ //
+ // Scan
+@@ -111,7 +110,7 @@ typedef struct tagSCmdScan {
+     u8            ssid[SSID_MAXLEN + 2];
+-} SCmdScan, *PSCmdScan;
++} __packed SCmdScan, *PSCmdScan;
+ //
+ // BSS Join
+@@ -126,7 +125,7 @@ typedef struct tagSCmdBSSJoin {
+     BOOL    bPSEnable;
+     BOOL    bShareKeyAuth;
+-} SCmdBSSJoin, *PSCmdBSSJoin;
++} __packed SCmdBSSJoin, *PSCmdBSSJoin;
+ //
+ // Zonetype Setting
+@@ -137,7 +136,7 @@ typedef struct tagSCmdZoneTypeSet {
+  BOOL       bWrite;
+  WZONETYPE  ZoneType;
+-} SCmdZoneTypeSet, *PSCmdZoneTypeSet;
++} __packed SCmdZoneTypeSet, *PSCmdZoneTypeSet;
+ typedef struct tagSWPAResult {
+          char ifname[100];
+@@ -145,7 +144,7 @@ typedef struct tagSWPAResult {
+       u8 key_mgmt;
+       u8 eap_type;
+          BOOL authenticated;
+-} SWPAResult, *PSWPAResult;
++} __packed SWPAResult, *PSWPAResult;
+ typedef struct tagSCmdStartAP {
+@@ -157,7 +156,7 @@ typedef struct tagSCmdStartAP {
+     BOOL    bShareKeyAuth;
+     u8      byBasicRate;
+-} SCmdStartAP, *PSCmdStartAP;
++} __packed SCmdStartAP, *PSCmdStartAP;
+ typedef struct tagSCmdSetWEP {
+@@ -167,7 +166,7 @@ typedef struct tagSCmdSetWEP {
+     BOOL    bWepKeyAvailable[WEP_NKEYS];
+     u32     auWepKeyLength[WEP_NKEYS];
+-} SCmdSetWEP, *PSCmdSetWEP;
++} __packed SCmdSetWEP, *PSCmdSetWEP;
+ typedef struct tagSBSSIDItem {
+@@ -180,14 +179,14 @@ typedef struct tagSBSSIDItem {
+     BOOL    bWEPOn;
+     u32     uRSSI;
+-} SBSSIDItem;
++} __packed SBSSIDItem;
+ typedef struct tagSBSSIDList {
+       u32                 uItem;
+       SBSSIDItem      sBSSIDList[0];
+-} SBSSIDList, *PSBSSIDList;
++} __packed SBSSIDList, *PSBSSIDList;
+ typedef struct tagSNodeItem {
+@@ -208,7 +207,7 @@ typedef struct tagSNodeItem {
+     u32            uTxAttempts;
+     u16            wFailureRatio;
+-} SNodeItem;
++} __packed SNodeItem;
+ typedef struct tagSNodeList {
+@@ -216,7 +215,7 @@ typedef struct tagSNodeList {
+       u32                 uItem;
+       SNodeItem       sNodeList[0];
+-} SNodeList, *PSNodeList;
++} __packed SNodeList, *PSNodeList;
+ typedef struct tagSCmdLinkStatus {
+@@ -229,7 +228,7 @@ typedef struct tagSCmdLinkStatus {
+     u32     uChannel;
+     u32     uLinkRate;
+-} SCmdLinkStatus, *PSCmdLinkStatus;
++} __packed SCmdLinkStatus, *PSCmdLinkStatus;
+ //
+ // 802.11 counter
+@@ -247,7 +246,7 @@ typedef struct tagSDot11MIBCount {
+     u32 ReceivedFragmentCount;
+     u32 MulticastReceivedFrameCount;
+     u32 FCSErrorCount;
+-} SDot11MIBCount, *PSDot11MIBCount;
++} __packed SDot11MIBCount, *PSDot11MIBCount;
+@@ -355,13 +354,13 @@ typedef struct tagSStatMIBCount {
+     u32   ullTxBroadcastBytes[2];
+     u32   ullTxMulticastBytes[2];
+     u32   ullTxDirectedBytes[2];
+-} SStatMIBCount, *PSStatMIBCount;
++} __packed SStatMIBCount, *PSStatMIBCount;
+ typedef struct tagSCmdValue {
+     u32     dwValue;
+-} SCmdValue,  *PSCmdValue;
++} __packed SCmdValue,  *PSCmdValue;
+ //
+ // hostapd & viawget ioctl related
+@@ -431,7 +430,7 @@ struct viawget_hostapd_param {
+                       u8 ssid[32];
+               } scan_req;
+       } u;
+-};
++} __packed;
+ /*---------------------  Export Classes  ----------------------------*/
+--- a/drivers/staging/vt6656/iowpa.h
++++ b/drivers/staging/vt6656/iowpa.h
+@@ -67,12 +67,11 @@ enum {
+-#pragma pack(1)
+ typedef struct viawget_wpa_header {
+       u8 type;
+       u16 req_ie_len;
+       u16 resp_ie_len;
+-} viawget_wpa_header;
++} __packed viawget_wpa_header;
+ struct viawget_wpa_param {
+       u32 cmd;
+@@ -113,9 +112,8 @@ struct viawget_wpa_param {
+                       u8 *buf;
+               } scan_results;
+       } u;
+-};
++} __packed;
+-#pragma pack(1)
+ struct viawget_scan_result {
+       u8 bssid[6];
+       u8 ssid[32];
+@@ -130,7 +128,7 @@ struct viawget_scan_result {
+       int noise;
+       int level;
+       int maxrate;
+-};
++} __packed;
+ /*---------------------  Export Classes  ----------------------------*/
diff --git a/queue-3.4/staging-wlan-ng-fix-clamping-of-returned-ssid-length.patch b/queue-3.4/staging-wlan-ng-fix-clamping-of-returned-ssid-length.patch
new file mode 100644 (file)
index 0000000..c6ec542
--- /dev/null
@@ -0,0 +1,33 @@
+From 811a37effdb11e54e1ff1ddaa944286c88f58487 Mon Sep 17 00:00:00 2001
+From: Tormod Volden <debian.tormod@gmail.com>
+Date: Wed, 9 Jan 2013 22:23:32 +0100
+Subject: staging: wlan-ng: Fix clamping of returned SSID length
+
+From: Tormod Volden <debian.tormod@gmail.com>
+
+commit 811a37effdb11e54e1ff1ddaa944286c88f58487 upstream.
+
+Commit 2e254212 broke listing of available network names, since it
+clamped the length of the returned SSID to WLAN_BSSID_LEN (6) instead of
+WLAN_SSID_MAXLEN (32).
+
+https://bugzilla.kernel.org/show_bug.cgi?id=52501
+
+Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/staging/wlan-ng/prism2mgmt.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/staging/wlan-ng/prism2mgmt.c
++++ b/drivers/staging/wlan-ng/prism2mgmt.c
+@@ -406,7 +406,7 @@ int prism2mgmt_scan_results(wlandevice_t
+       /* SSID */
+       req->ssid.status = P80211ENUM_msgitem_status_data_ok;
+       req->ssid.data.len = le16_to_cpu(item->ssid.len);
+-      req->ssid.data.len = min_t(u16, req->ssid.data.len, WLAN_BSSID_LEN);
++      req->ssid.data.len = min_t(u16, req->ssid.data.len, WLAN_SSID_MAXLEN);
+       memcpy(req->ssid.data.data, item->ssid.data, req->ssid.data.len);
+       /* supported rates */
diff --git a/queue-3.4/tty-8250_dw-fix-inverted-arguments-to-serial_out-in-irq-handler.patch b/queue-3.4/tty-8250_dw-fix-inverted-arguments-to-serial_out-in-irq-handler.patch
new file mode 100644 (file)
index 0000000..7156122
--- /dev/null
@@ -0,0 +1,27 @@
+From 68e56cb3a068f9c30971c6117fbbd1e32918e49e Mon Sep 17 00:00:00 2001
+From: Maxime Ripard <maxime.ripard@free-electrons.com>
+Date: Mon, 14 Jan 2013 20:09:26 +0100
+Subject: tty: 8250_dw: Fix inverted arguments to serial_out in IRQ handler
+
+From: Maxime Ripard <maxime.ripard@free-electrons.com>
+
+commit 68e56cb3a068f9c30971c6117fbbd1e32918e49e upstream.
+
+Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/tty/serial/8250/8250_dw.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/tty/serial/8250/8250_dw.c
++++ b/drivers/tty/serial/8250/8250_dw.c
+@@ -79,7 +79,7 @@ static int dw8250_handle_irq(struct uart
+       } else if ((iir & UART_IIR_BUSY) == UART_IIR_BUSY) {
+               /* Clear the USR and write the LCR again. */
+               (void)p->serial_in(p, UART_USR);
+-              p->serial_out(p, d->last_lcr, UART_LCR);
++              p->serial_out(p, UART_LCR, d->last_lcr);
+               return 1;
+       }
diff --git a/queue-3.4/usb-option-add-tp-link-hsupa-modem-ma180.patch b/queue-3.4/usb-option-add-tp-link-hsupa-modem-ma180.patch
new file mode 100644 (file)
index 0000000..cb462a2
--- /dev/null
@@ -0,0 +1,47 @@
+From 99beb2e9687ffd61c92a9875141eabe6f57a71b9 Mon Sep 17 00:00:00 2001
+From: Bjørn Mork <bjorn@mork.no>
+Date: Tue, 15 Jan 2013 10:29:49 +0100
+Subject: USB: option: add TP-LINK HSUPA Modem MA180
+
+From: Bjørn Mork <bjorn@mork.no>
+
+commit 99beb2e9687ffd61c92a9875141eabe6f57a71b9 upstream.
+
+The driver description files gives these names to the vendor specific
+functions on this modem:
+
+ Diagnostics VID_2357&PID_0201&MI_00
+ NMEA        VID_2357&PID_0201&MI_01
+ Modem       VID_2357&PID_0201&MI_03
+ Networkcard VID_2357&PID_0201&MI_04
+
+Reported-by: Thomas Schäfer <tschaefer@t-online.de>
+Signed-off-by: Bjørn Mork <bjorn@mork.no>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/serial/option.c |    6 ++++++
+ 1 file changed, 6 insertions(+)
+
+--- a/drivers/usb/serial/option.c
++++ b/drivers/usb/serial/option.c
+@@ -449,6 +449,10 @@ static void option_instat_callback(struc
+ #define PETATEL_VENDOR_ID                     0x1ff4
+ #define PETATEL_PRODUCT_NP10T                 0x600e
++/* TP-LINK Incorporated products */
++#define TPLINK_VENDOR_ID                      0x2357
++#define TPLINK_PRODUCT_MA180                  0x0201
++
+ /* some devices interfaces need special handling due to a number of reasons */
+ enum option_blacklist_reason {
+               OPTION_BLACKLIST_NONE = 0,
+@@ -1311,6 +1315,8 @@ static const struct usb_device_id option
+       { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2, 0xff, 0x00, 0x00) },
+       { USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MEN200) },
+       { USB_DEVICE(PETATEL_VENDOR_ID, PETATEL_PRODUCT_NP10T) },
++      { USB_DEVICE(TPLINK_VENDOR_ID, TPLINK_PRODUCT_MA180),
++        .driver_info = (kernel_ulong_t)&net_intf4_blacklist },
+       { } /* Terminating entry */
+ };
+ MODULE_DEVICE_TABLE(usb, option_ids);
diff --git a/queue-3.4/usb-option-blacklist-network-interface-on-onda-mt8205-4g-lte.patch b/queue-3.4/usb-option-blacklist-network-interface-on-onda-mt8205-4g-lte.patch
new file mode 100644 (file)
index 0000000..541ed28
--- /dev/null
@@ -0,0 +1,37 @@
+From 2291dff02e5f8c708a46a7c4c888f2c467e26642 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bj=C3=B8rn=20Mork?= <bjorn@mork.no>
+Date: Thu, 17 Jan 2013 15:14:22 +0100
+Subject: USB: option: blacklist network interface on ONDA MT8205 4G LTE
+
+Signed-off-by: Bjørn Mork <bjorn@mork.no>
+
+commit 2291dff02e5f8c708a46a7c4c888f2c467e26642 upstream.
+
+The driver description files gives these names to the vendor specific
+functions on this modem:
+
+ Diag   VID_19D2&PID_0265&MI_00
+ NMEA   VID_19D2&PID_0265&MI_01
+ AT cmd VID_19D2&PID_0265&MI_02
+ Modem  VID_19D2&PID_0265&MI_03
+ Net    VID_19D2&PID_0265&MI_04
+
+Signed-off-by: Bjørn Mork <bjorn@mork.no>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/serial/option.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/usb/serial/option.c
++++ b/drivers/usb/serial/option.c
+@@ -934,7 +934,8 @@ static const struct usb_device_id option
+       { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0254, 0xff, 0xff, 0xff) },
+       { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0257, 0xff, 0xff, 0xff), /* ZTE MF821 */
+         .driver_info = (kernel_ulong_t)&net_intf3_blacklist },
+-      { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0265, 0xff, 0xff, 0xff) },
++      { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0265, 0xff, 0xff, 0xff), /* ONDA MT8205 */
++        .driver_info = (kernel_ulong_t)&net_intf4_blacklist },
+       { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0284, 0xff, 0xff, 0xff), /* ZTE MF880 */
+         .driver_info = (kernel_ulong_t)&net_intf4_blacklist },
+       { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0317, 0xff, 0xff, 0xff) },