1. 20 12月, 2018 1 次提交
    • A
      MMC: OMAP: fix broken MMC on OMAP15XX/OMAP5910/OMAP310 · e1e99fea
      Aaro Koskinen 提交于
      commit e8cde625bfe8a714a856e1366bcbb259d7346095 upstream.
      
      Since v2.6.22 or so there has been reports [1] about OMAP MMC being
      broken on OMAP15XX based hardware (OMAP5910 and OMAP310). The breakage
      seems to have been caused by commit 46a6730e ("mmc-omap: Fix
      omap to use MMC_POWER_ON") that changed clock enabling to be done
      on MMC_POWER_ON. This can happen multiple times in a row, and on 15XX
      the hardware doesn't seem to like it and the MMC just stops responding.
      Fix by memorizing the power mode and do the init only when necessary.
      
      Before the patch (on Palm TE):
      
      	mmc0: new SD card at address b368
      	mmcblk0: mmc0:b368 SDC   977 MiB
      	mmci-omap mmci-omap.0: command timeout (CMD18)
      	mmci-omap mmci-omap.0: command timeout (CMD13)
      	mmci-omap mmci-omap.0: command timeout (CMD13)
      	mmci-omap mmci-omap.0: command timeout (CMD12) [x 6]
      	mmci-omap mmci-omap.0: command timeout (CMD13) [x 6]
      	mmcblk0: error -110 requesting status
      	mmci-omap mmci-omap.0: command timeout (CMD8)
      	mmci-omap mmci-omap.0: command timeout (CMD18)
      	mmci-omap mmci-omap.0: command timeout (CMD13)
      	mmci-omap mmci-omap.0: command timeout (CMD13)
      	mmci-omap mmci-omap.0: command timeout (CMD12) [x 6]
      	mmci-omap mmci-omap.0: command timeout (CMD13) [x 6]
      	mmcblk0: error -110 requesting status
      	mmcblk0: recovery failed!
      	print_req_error: I/O error, dev mmcblk0, sector 0
      	Buffer I/O error on dev mmcblk0, logical block 0, async page read
      	 mmcblk0: unable to read partition table
      
      After the patch:
      
      	mmc0: new SD card at address b368
      	mmcblk0: mmc0:b368 SDC   977 MiB
      	 mmcblk0: p1
      
      The patch is based on a fix and analysis done by Ladislav Michl.
      
      Tested on OMAP15XX/OMAP310 (Palm TE), OMAP1710 (Nokia 770)
      and OMAP2420 (Nokia N810).
      
      [1] https://marc.info/?t=123175197000003&r=1&w=2
      
      Fixes: 46a6730e ("mmc-omap: Fix omap to use MMC_POWER_ON")
      Reported-by: NLadislav Michl <ladis@linux-mips.org>
      Reported-by: NAndrzej Zaborowski <balrogg@gmail.com>
      Tested-by: NLadislav Michl <ladis@linux-mips.org>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NAaro Koskinen <aaro.koskinen@iki.fi>
      Cc: stable@vger.kernel.org
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      e1e99fea
  2. 02 11月, 2017 1 次提交
    • K
      mmc: Convert timers to use timer_setup() · 2ee4f620
      Kees Cook 提交于
      In preparation for unconditionally passing the struct timer_list pointer to
      all timer callbacks, switch to using the new timer_setup() and from_timer()
      to pass the timer pointer explicitly.
      
      Cc: Ludovic Desroches <ludovic.desroches@microchip.com>
      Cc: Ulf Hansson <ulf.hansson@linaro.org>
      Cc: Jaehoon Chung <jh80.chung@samsung.com>
      Cc: Carlo Caione <carlo@caione.org>
      Cc: Kevin Hilman <khilman@baylibre.com>
      Cc: Nicolas Pitre <nico@fluxnic.net>
      Cc: Jarkko Lavinen <jarkko.lavinen@nokia.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alex Dubov <oakad@yahoo.com>
      Cc: Bruce Chang <brucechang@via.com.tw>
      Cc: Harald Welte <HaraldWelte@viatech.com>
      Cc: Tony Olech <tony.olech@elandigitalsystems.com>
      Cc: Pierre Ossman <pierre@ossman.eu>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Paul Cercueil <paul@crapouillou.net>
      Cc: Heiner Kallweit <hkallweit1@gmail.com>
      Cc: Shawn Lin <shawn.lin@rock-chips.com>
      Cc: Arvind Yadav <arvind.yadav.cs@gmail.com>
      Cc: Allen <allen.lkml@gmail.com>
      Cc: linux-mmc@vger.kernel.org
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-amlogic@lists.infradead.org
      Cc: linux-omap@vger.kernel.org
      Cc: linux-usb@vger.kernel.org
      Signed-off-by: NKees Cook <keescook@chromium.org>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      2ee4f620
  3. 13 2月, 2017 1 次提交
  4. 14 9月, 2016 1 次提交
  5. 04 5月, 2016 1 次提交
  6. 26 10月, 2015 1 次提交
  7. 27 8月, 2015 1 次提交
  8. 17 8月, 2015 1 次提交
  9. 09 9月, 2014 1 次提交
  10. 22 5月, 2014 1 次提交
  11. 23 2月, 2014 7 次提交
  12. 27 11月, 2013 2 次提交
  13. 31 10月, 2013 1 次提交
  14. 06 7月, 2013 1 次提交
  15. 27 5月, 2013 1 次提交
  16. 29 11月, 2012 3 次提交
  17. 16 10月, 2012 5 次提交
  18. 21 9月, 2012 1 次提交
    • T
      ARM: OMAP1: Make plat/mux.h omap1 only · 70c494c3
      Tony Lindgren 提交于
      We are moving omap2+ to use the device tree based pinctrl-single.c
      and will be removing the old mux framework. This will remove the
      omap1 specific parts from plat-omap.
      Acked-by: NFelipe Balbi <balbi@ti.com>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: linux-usb@vger.kernel.org
      Cc: linux-pcmcia@lists.infradead.org
      Cc: spi-devel-general@lists.sourceforge.net
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      70c494c3
  19. 11 9月, 2012 1 次提交
  20. 05 9月, 2012 3 次提交
  21. 31 7月, 2012 2 次提交
  22. 06 6月, 2012 3 次提交
    • T
      mmc: omap: Fix broken reg_shift initialization · ebbe6f88
      Tony Lindgren 提交于
      Commit fa550189 (mmc: core: Prevent eMMC VCC supply to be cut from late init)
      slightly affected timings for how things are done for the omap MMC driver
      causing the MMC cards not getting detected any longer.
      
      Turns out this was caused by buggy reg_shift initialization in the omap
      MMC driver that was happening after mmc_add_host() was being called.
      
      Fix this by initializing reg_shift before mmc_add_host() is called.
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      ebbe6f88
    • T
      mmc: omap: Fix NULL pointer dereference if mmc_omap_new_slot() fails · 3caf4140
      Tony Lindgren 提交于
      Commit b01a4f1c (mmc: omap: convert to per instance workqueue) initializes
      the workqueue too late causing the following:
      
      Unable to handle kernel NULL pointer dereference at virtual address 00000000
      pgd = c0004000
      [00000000] *pgd=00000000
      Internal error: Oops: 5 [#1] SMP ARM
      Modules linked in:
      CPU: 0    Not tainted  (3.4.0-08218-gb48b2c3e #158)
      PC is at __queue_work+0x8/0x46c
      LR is at queue_work_on+0x38/0x40
      pc : [<c005bb4c>]    lr : [<c005c00c>]    psr: 60000193
      sp : c0691e1c  ip : 00000000  fp : c07374ac
      r10: c7aae400  r9 : c0395700  r8 : 00000100
      r7 : c0691e70  r6 : 00000000  r5 : 00000000  r4 : c7aae440
      r3 : 00000001  r2 : c7aae440  r1 : 00000000  r0 : 00000000
      Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
      Control: 00c5387d  Table: 80004000  DAC: 00000017
      Process swapper/0 (pid: 0, stack limit = 0xc06902f8)
      Stack: (0xc0691e1c to 0xc0692000)
      
      Fix this by initializing the workqueue before mmc_omap_remove_slot()
      get called. Tested on n770, looks like n800 at least still has some
      other issue with MMC.
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      3caf4140
    • T
      mmc: omap: Fix a section warning regression · 4f837791
      Tony Lindgren 提交于
      Commit b6e0703b (mmc: omap: make it behave well as a module) made some
      __devinit changes but missed one function causing a section warning:
      
      WARNING: vmlinux.o(.devinit.text+0x8604): Section mismatch in reference
      from the function mmc_omap_probe)
      
      The function __devinit mmc_omap_probe() references a function
      __init mmc_omap_new_slot().
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Acked-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      4f837791