Date: Tuesday, January 19, 2016 @ 21:27:32
  Author: tpowa
Revision: 258421

fix #47805, #47778

Added:
  linux/trunk/0001-sdhci-revert.patch
  
linux/trunk/tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch
Modified:
  linux/trunk/PKGBUILD

-----------------------------------------------------------------------------------+
 0001-sdhci-revert.patch                                                        
   |   25 ++++++++++
 PKGBUILD                                                                       
   |   19 ++++++-
 
tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch
 |   24 +++++++++
 3 files changed, 65 insertions(+), 3 deletions(-)

Added: 0001-sdhci-revert.patch
===================================================================
--- 0001-sdhci-revert.patch                             (rev 0)
+++ 0001-sdhci-revert.patch     2016-01-19 20:27:32 UTC (rev 258421)
@@ -0,0 +1,25 @@
+index 2cadf08..b48565e 100644
+--- a/drivers/mmc/host/sdhci.c
++++ b/drivers/mmc/host/sdhci.c
+@@ -1895,9 +1895,9 @@ static int sdhci_execute_tuning(struct mmc_host *mmc, 
u32 opcode)
+               tuning_count = host->tuning_count;
+ 
+       /*
+-       * The Host Controller needs tuning only in case of SDR104 mode
+-       * and for SDR50 mode when Use Tuning for SDR50 is set in the
+-       * Capabilities register.
++       * The Host Controller needs tuning in case of SDR104 and DDR50
++       * mode, and for SDR50 mode when Use Tuning for SDR50 is set in
++       * the Capabilities register.
+        * If the Host Controller supports the HS200 mode then the
+        * tuning function has to be executed.
+        */
+@@ -1917,6 +1917,7 @@ static int sdhci_execute_tuning(struct mmc_host *mmc, 
u32 opcode)
+               break;
+ 
+       case MMC_TIMING_UHS_SDR104:
++      case MMC_TIMING_UHS_DDR50:
+               break;
+ 
+       case MMC_TIMING_UHS_SDR50:
+generated by cgit v0.11.2 at 2016-01-01 22:11:38 (GMT)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2016-01-19 19:42:18 UTC (rev 258420)
+++ PKGBUILD    2016-01-19 20:27:32 UTC (rev 258421)
@@ -6,7 +6,7 @@
 #pkgbase=linux-custom       # Build kernel with a different name
 _srcname=linux-4.4
 pkgver=4.4
-pkgrel=3
+pkgrel=4
 arch=('i686' 'x86_64')
 url="http://www.kernel.org/";
 license=('GPL2')
@@ -20,7 +20,9 @@
         'config' 'config.x86_64'
         # standard config files for mkinitcpio ramdisk
         'linux.preset'
-        'change-default-console-loglevel.patch')
+        'change-default-console-loglevel.patch'
+        '0001-sdhci-revert.patch'
+        
'tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch')
 
 sha256sums=('401d7c8fef594999a460d10c72c5a94e9c2e1022f16795ec51746b0d165418b2'
             'SKIP'
@@ -27,7 +29,9 @@
             'd402c67f5a7334ac9e242344055ef4ac63fe43a1d8f1cda82eddd59d7242a63e'
             'ddeadf2910deb0803d4d4920c4dc7f07d3fb63bca564073aeb5f6181358f20d7'
             'f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c'
-            '1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99')
+            '1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99'
+            '5313df7cb5b4d005422bd4cd0dae956b2dadba8f3db904275aaf99ac53894375'
+            'ab57037ecee0a425c612babdff47c831378bca0bff063a1308599989a350226d')
 validpgpkeys=(
               'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
               '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
@@ -44,6 +48,15 @@
   # add latest fixes from stable queue, if needed
   # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
   
+  # revert 
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=9faac7b95ea4f9e83b7a914084cc81ef1632fd91
+  # fixes #47778 sdhci broken on some boards
+  # https://bugzilla.kernel.org/show_bug.cgi?id=106541
+  patch -Rp1 -i "${srcdir}/0001-sdhci-revert.patch"
+
+  # fixes #47805 kernel panics on platform modules
+  # https://bugzilla.kernel.org/show_bug.cgi?id=110751
+  patch -Np1 -i 
"${srcdir}/tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch"
+
   # set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)
   # remove this when a Kconfig knob is made available by upstream
   # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)

Added: 
tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch
===================================================================
--- 
tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch
                           (rev 0)
+++ 
tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch
   2016-01-19 20:27:32 UTC (rev 258421)
@@ -0,0 +1,24 @@
+diff --git a/drivers/base/platform.c b/drivers/base/platform.c
+index 1dd6d3b..176b59f 100644
+--- a/drivers/base/platform.c
++++ b/drivers/base/platform.c
+@@ -513,10 +513,15 @@ static int platform_drv_probe(struct device *_dev)
+               return ret;
+ 
+       ret = dev_pm_domain_attach(_dev, true);
+-      if (ret != -EPROBE_DEFER && drv->probe) {
+-              ret = drv->probe(dev);
+-              if (ret)
+-                      dev_pm_domain_detach(_dev, true);
++      if (ret != -EPROBE_DEFER) {
++              if (drv->probe) {
++                      ret = drv->probe(dev);
++                      if (ret)
++                              dev_pm_domain_detach(_dev, true);
++              } else {
++                      /* don't fail if just dev_pm_domain_attach failed */
++                      ret = 0;
++              }
+       }
+ 
+       if (drv->prevent_deferred_probe && ret == -EPROBE_DEFER) {

Reply via email to