--- /dev/null
+From 1748cbf7f7c464593232cde914f5a103181a83b5 Mon Sep 17 00:00:00 2001
+From: Sangjung Woo <sangjung.woo@samsung.com>
+Date: Wed, 11 Sep 2013 14:24:21 -0700
+Subject: drivers/rtc/rtc-max77686.c: Fix wrong register
+
+From: Sangjung Woo <sangjung.woo@samsung.com>
+
+commit 1748cbf7f7c464593232cde914f5a103181a83b5 upstream.
+
+Fix a read of the wrong register when checking whether the RTC timer has
+reached the alarm time.
+
+Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
+Signed-off-by: Myugnjoo Ham <myungjoo.ham@samsung.com>
+Reviewed-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/rtc/rtc-max77686.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/rtc/rtc-max77686.c
++++ b/drivers/rtc/rtc-max77686.c
+@@ -240,9 +240,9 @@ static int max77686_rtc_read_alarm(struc
+ }
+
+ alrm->pending = 0;
+- ret = regmap_read(info->max77686->regmap, MAX77686_REG_STATUS1, &val);
++ ret = regmap_read(info->max77686->regmap, MAX77686_REG_STATUS2, &val);
+ if (ret < 0) {
+- dev_err(info->dev, "%s:%d fail to read status1 reg(%d)\n",
++ dev_err(info->dev, "%s:%d fail to read status2 reg(%d)\n",
+ __func__, __LINE__, ret);
+ goto out;
+ }
--- /dev/null
+From 1211c961170cedb21c30d5bb7e2033c8720b38db Mon Sep 17 00:00:00 2001
+From: Bing Zhao <bzhao@marvell.com>
+Date: Mon, 19 Aug 2013 16:10:21 -0700
+Subject: mwifiex: do not create AP and P2P interfaces upon driver loading
+
+From: Bing Zhao <bzhao@marvell.com>
+
+commit 1211c961170cedb21c30d5bb7e2033c8720b38db upstream.
+
+Bug 60747 - 1286:2044 [Microsoft Surface Pro]
+ Marvell 88W8797 wifi show 3 interface under network
+https://bugzilla.kernel.org/show_bug.cgi?id=60747
+
+This issue was also reported previously by OLPC and some folks from
+the community.
+
+There are 3 network interfaces with different types being created
+when mwifiex driver is loaded:
+
+1. mlan0 (infra. STA)
+2. uap0 (AP)
+3. p2p0 (P2P_CLIENT)
+
+The Network Manager attempts to use all 3 interfaces above without
+filtering the managed interface type. As the result, 3 identical
+interfaces are displayed under network manager. If user happens to
+click on an entry under which its interface is uap0 or p2p0, the
+association will fail.
+
+Work around it by removing the creation of AP and P2P interfaces
+at driver loading time. These interfaces can be added with 'iw' or
+other applications manually when they are needed.
+
+Signed-off-by: Bing Zhao <bzhao@marvell.com>
+Signed-off-by: Avinash Patil <patila@marvell.com>
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/wireless/mwifiex/main.c | 14 --------------
+ 1 file changed, 14 deletions(-)
+
+--- a/drivers/net/wireless/mwifiex/main.c
++++ b/drivers/net/wireless/mwifiex/main.c
+@@ -458,20 +458,6 @@ static void mwifiex_fw_dpc(const struct
+ dev_err(adapter->dev, "cannot create default STA interface\n");
+ goto err_add_intf;
+ }
+-
+- /* Create AP interface by default */
+- if (!mwifiex_add_virtual_intf(adapter->wiphy, "uap%d",
+- NL80211_IFTYPE_AP, NULL, NULL)) {
+- dev_err(adapter->dev, "cannot create default AP interface\n");
+- goto err_add_intf;
+- }
+-
+- /* Create P2P interface by default */
+- if (!mwifiex_add_virtual_intf(adapter->wiphy, "p2p%d",
+- NL80211_IFTYPE_P2P_CLIENT, NULL, NULL)) {
+- dev_err(adapter->dev, "cannot create default P2P interface\n");
+- goto err_add_intf;
+- }
+ rtnl_unlock();
+
+ mwifiex_drv_get_driver_version(adapter, fmt, sizeof(fmt) - 1);