diff options
-rw-r--r-- | kernel.spec | 5 | ||||
-rw-r--r-- | mei-me-fix-hardware-reset-flow.patch | 104 |
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 |