--- /dev/null
+From cb7da022450cdaaebd33078b6b32fb7dd2aaf6db Mon Sep 17 00:00:00 2001
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Thu, 29 Nov 2012 09:12:37 +0100
+Subject: asus-laptop: Do not call HWRS on init
+
+From: Ben Hutchings <ben@decadent.org.uk>
+
+commit cb7da022450cdaaebd33078b6b32fb7dd2aaf6db upstream.
+
+Since commit 8871e99f89b7 ('asus-laptop: HRWS/HWRS typo'), module
+initialisation is very slow on the Asus UL30A. The HWRS method takes
+about 12 seconds to run, and subsequent initialisation also seems to
+be delayed. Since we don't really need the result, don't bother
+calling it on init. Those who are curious can still get the result
+through the 'infos' device attribute.
+
+Update the comment about HWRS in show_infos().
+
+Reported-by: ryan <draziw+deb@gmail.com>
+References: http://bugs.debian.org/692436
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Corentin Chary <corentin.chary@gmail.com>
+Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/platform/x86/asus-laptop.c | 17 ++++-------------
+ 1 file changed, 4 insertions(+), 13 deletions(-)
+
+--- a/drivers/platform/x86/asus-laptop.c
++++ b/drivers/platform/x86/asus-laptop.c
+@@ -643,8 +643,10 @@ static ssize_t show_infos(struct device
+ /*
+ * The HWRS method return informations about the hardware.
+ * 0x80 bit is for WLAN, 0x100 for Bluetooth.
++ * 0x40 for WWAN, 0x10 for WIMAX.
+ * The significance of others is yet to be found.
+- * If we don't find the method, we assume the device are present.
++ * We don't currently use this for device detection, and it
++ * takes several seconds to run on some systems.
+ */
+ rv = acpi_evaluate_integer(asus->handle, "HWRS", NULL, &temp);
+ if (!ACPI_FAILURE(rv))
+@@ -1271,7 +1273,7 @@ static int asus_laptop_get_info(struct a
+ {
+ struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
+ union acpi_object *model = NULL;
+- unsigned long long bsts_result, hwrs_result;
++ unsigned long long bsts_result;
+ char *string = NULL;
+ acpi_status status;
+
+@@ -1333,17 +1335,6 @@ static int asus_laptop_get_info(struct a
+ if (*string)
+ pr_notice(" %s model detected\n", string);
+
+- /*
+- * The HWRS method return informations about the hardware.
+- * 0x80 bit is for WLAN, 0x100 for Bluetooth,
+- * 0x40 for WWAN, 0x10 for WIMAX.
+- * The significance of others is yet to be found.
+- */
+- status =
+- acpi_evaluate_integer(asus->handle, "HWRS", NULL, &hwrs_result);
+- if (!ACPI_FAILURE(status))
+- pr_notice(" HWRS returned %x", (int)hwrs_result);
+-
+ if (!acpi_check_handle(asus->handle, METHOD_WL_STATUS, NULL))
+ asus->have_rsts = true;
+
--- /dev/null
+From 6ef9e2f6d12ce9e2120916804d2ddd46b954a70b Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@openwrt.org>
+Date: Tue, 26 Feb 2013 16:09:55 +0100
+Subject: rt2x00: error in configurations with mesh support disabled
+
+From: Felix Fietkau <nbd@openwrt.org>
+
+commit 6ef9e2f6d12ce9e2120916804d2ddd46b954a70b upstream.
+
+If CONFIG_MAC80211_MESH is not set, cfg80211 will now allow advertising
+interface combinations with NL80211_IFTYPE_MESH_POINT present.
+Add appropriate ifdefs to avoid running into errors.
+
+[Backported for 3.8-stable. Removed code of simultaneous AP and mesh
+mode added in 4a5fc6d 3.9-rc1.]
+
+Signed-off-by: Felix Fietkau <nbd@openwrt.org>
+Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+Signed-off-by: Lingzhu Xiang <lxiang@redhat.com>
+Reviewed-by: CAI Qian <caiqian@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/wireless/rt2x00/rt2x00dev.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
++++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
+@@ -1113,7 +1113,9 @@ int rt2x00lib_probe_dev(struct rt2x00_de
+ rt2x00dev->hw->wiphy->interface_modes |=
+ BIT(NL80211_IFTYPE_ADHOC) |
+ BIT(NL80211_IFTYPE_AP) |
++#ifdef CONFIG_MAC80211_MESH
+ BIT(NL80211_IFTYPE_MESH_POINT) |
++#endif
+ BIT(NL80211_IFTYPE_WDS);
+
+ /*