summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel.spec5
-rw-r--r--mei-me-fix-hardware-reset-flow.patch104
2 files changed, 109 insertions, 0 deletions
diff --git a/kernel.spec b/kernel.spec
index 0670c88a7..4f2f07658 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -746,6 +746,8 @@ Patch25077: media-cx23885-Fix-TeVii-S471-regression-since-introduction-of-ts2020
#rhbz 989269
Patch25079: mac80211-add-a-flag-to-indicate-CCK-support-for-HT-clients.patch
+Patch25090: mei-me-fix-hardware-reset-flow.patch
+
# END OF PATCH DEFINITIONS
%endif
@@ -1445,6 +1447,8 @@ ApplyPatch media-cx23885-Fix-TeVii-S471-regression-since-introduction-of-ts2020.
#rhbz 989269
ApplyPatch mac80211-add-a-flag-to-indicate-CCK-support-for-HT-clients.patch
+ApplyPatch mei-me-fix-hardware-reset-flow.patch
+
# END OF PATCH APPLICATIONS
%endif
@@ -2241,6 +2245,7 @@ fi
%changelog
* Thu Aug 29 2013 Josh Boyer <jwboyer@fedoraproject.org> - 3.11.0-0.rc7.git2.1
- Linux v3.11-rc7-24-gc95389b
+- Add mei patches that fix various s/r issues (rhbz 994824 989373)
* Wed Aug 28 2013 Josh Boyer <jwboyer@fedoraproject.org> - 3.11.0-0.rc7.git1.1
- Linux v3.11-rc7-14-gfa8218d
diff --git a/mei-me-fix-hardware-reset-flow.patch b/mei-me-fix-hardware-reset-flow.patch
new file mode 100644
index 000000000..b0c6c34b5
--- /dev/null
+++ b/mei-me-fix-hardware-reset-flow.patch
@@ -0,0 +1,104 @@
+Delivered-To: jwboyer@gmail.com
+Received: by 10.76.168.104 with SMTP id zv8csp116477oab;
+ Sun, 25 Aug 2013 02:53:06 -0700 (PDT)
+X-Received: by 10.66.146.42 with SMTP id sz10mr8515943pab.78.1377424384757;
+ Sun, 25 Aug 2013 02:53:04 -0700 (PDT)
+Return-Path: <stable-owner@vger.kernel.org>
+Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67])
+ by mx.google.com with ESMTP id zu9si6326866pbc.308.1969.12.31.16.00.00;
+ Sun, 25 Aug 2013 02:53:04 -0700 (PDT)
+Received-SPF: pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67;
+Authentication-Results: mx.google.com;
+ spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mail=stable-owner@vger.kernel.org
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S1756391Ab3HYJwW (ORCPT <rfc822;outmanzhao@gmail.com>
+ + 58 others); Sun, 25 Aug 2013 05:52:22 -0400
+Received: from mga03.intel.com ([143.182.124.21]:34236 "EHLO mga03.intel.com"
+ rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP
+ id S1756361Ab3HYJwT (ORCPT <rfc822;stable@vger.kernel.org>);
+ Sun, 25 Aug 2013 05:52:19 -0400
+Received: from azsmga001.ch.intel.com ([10.2.17.19])
+ by azsmga101.ch.intel.com with ESMTP; 25 Aug 2013 02:52:18 -0700
+X-ExtLoop1: 1
+X-IronPort-AV: E=Sophos;i="4.89,951,1367996400";
+ d="scan'208";a="351301674"
+Received: from twinkler-dhg.jer.intel.com ([10.12.87.84])
+ by azsmga001.ch.intel.com with ESMTP; 25 Aug 2013 02:52:16 -0700
+From: Tomas Winkler <tomas.winkler@intel.com>
+To: gregkh@linuxfoundation.org
+Cc: arnd@arndb.de, linux-kernel@vger.kernel.org,
+ Tomas Winkler <tomas.winkler@intel.com>,
+ stable@vger.kernel.org, Shuah Khan <shuah.kh@samsung.com>,
+ Konstantin Khlebnikov <khlebnikov@openvz.org>
+Subject: [3.10][PATCH 4/4] mei: me: fix hardware reset flow
+Date: Sun, 25 Aug 2013 12:49:49 +0300
+Message-Id: <1377424189-5508-5-git-send-email-tomas.winkler@intel.com>
+X-Mailer: git-send-email 1.8.1.2
+In-Reply-To: <1377424189-5508-1-git-send-email-tomas.winkler@intel.com>
+References: <1377424189-5508-1-git-send-email-tomas.winkler@intel.com>
+Sender: stable-owner@vger.kernel.org
+Precedence: bulk
+List-ID: <stable.vger.kernel.org>
+X-Mailing-List: stable@vger.kernel.org
+
+stable: 3.10
+commit ff96066e3171acdea356b331163495957cb833d0 char-misc
+
+
+Both H_IS and H_IE needs to be set to receive H_RDY
+interrupt
+
+1. Assert H_IS to clear the interrupts during hw reset
+and use mei_me_reg_write instead of mei_hcsr_set as the later
+strips down the H_IS
+
+2. fix interrupt disablement embarrassing typo
+ hcsr |= ~H_IE -> hcsr &= ~H_IE;
+this will remove the unwanted interrupt on power down
+
+3. remove useless debug print outs
+
+Cc: stable@vger.kernel.org
+Cc: Shuah Khan <shuah.kh@samsung.com>
+Cc: Konstantin Khlebnikov <khlebnikov@openvz.org>
+Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+Conflicts:
+ drivers/misc/mei/hw-me.c
+
+---
+ drivers/misc/mei/hw-me.c | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/misc/mei/hw-me.c b/drivers/misc/mei/hw-me.c
+index 700fe55..1bf3f8b 100644
+--- a/drivers/misc/mei/hw-me.c
++++ b/drivers/misc/mei/hw-me.c
+@@ -176,16 +176,14 @@ static void mei_me_hw_reset(struct mei_device *dev, bool intr_enable)
+ struct mei_me_hw *hw = to_me_hw(dev);
+ u32 hcsr = mei_hcsr_read(hw);
+
+- dev_dbg(&dev->pdev->dev, "before reset HCSR = 0x%08x.\n", hcsr);
+-
+- hcsr |= (H_RST | H_IG);
++ hcsr |= H_RST | H_IG | H_IS;
+
+ if (intr_enable)
+ hcsr |= H_IE;
+ else
+- hcsr |= ~H_IE;
++ hcsr &= ~H_IE;
+
+- mei_hcsr_set(hw, hcsr);
++ mei_me_reg_write(hw, H_CSR, hcsr);
+
+ if (dev->dev_state == MEI_DEV_POWER_DOWN)
+ mei_me_hw_reset_release(dev);
+--
+1.8.1.2
+
+--
+To unsubscribe from this list: send the line "unsubscribe stable" in
+the body of a message to majordomo@vger.kernel.org
+More majordomo info at http://vger.kernel.org/majordomo-info.html