Skip to content
Snippets Groups Projects
  1. Jun 13, 2013
    • Ruud Commandeur's avatar
      mmc write bug fix · a586c0aa
      Ruud Commandeur authored
      
      This patch fixes a bug related to mmc writes.
      
      When doing fatwrites on an SD-Card, MMC bus problems can occur. Depending
      on the size of the file, "MMC0: Bus busy timeout!" is reported, resulting
      in an SD-Card that is no longer responding.
      It appears to be, that set_cluster can be called with a size being zero.
      That can be with a file that has a size being an exact multiple
      (including 0) of the clustersize, but also for files that are smaller than
      the size of one cluster.
      The same problem occurs if the "mmc write" command is given with a block
      count being 0.
      
      By adding a check for the block count being zero in mmc_write_blocks
      (drivers/mmc.c), this problem is solved.
      
      Signed-off-by: default avatarRuud Commandeur <rcommandeur@clb.nl>
      Cc: Tom Rini <trini@ti.com>
      Cc: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
      Cc: Mats Karrman <Mats.Karrman@tritech.se>
      Cc: Andy Fleming <afleming@gmail.com>
      Signed-off-by: default avatarAndy Fleming <afleming@freescale.com>
      a586c0aa
    • Jagan Teki's avatar
      mmc: sdhci: Enable 8-bit bus width only for 3.0 spec onwards · 1695b29a
      Jagan Teki authored
      
      CAP register don't have any information for 8-bit buswidth support
      on 2.0 sdhci spec, only from 3.0 onwards bit[18] got this information.
      
      Due to this misassignment in sdhci, mmc is setting 8-bit buswidth using
      mmc_set_bus_width even if controller doesn't support.
      Below change has code information.
      "mmc: Properly determine maximum supported bus width"
      (sha1: 7798f6db)
      
      Bug log: <mmc plus and emmc cards)
      -------
      zynq-uboot> mmcinfo
      Error detected in status(0x208100)!
      Device: zynq_sdhci
      Manufacturer ID: fe
      .....
      
      So enable 8-bit support only for 3.0 spec using CAP and for below 3.0
      assign mmc->host_caps = MMC_MODE_8BIT on respective platform driver
      if host have a support.
      
      Signed-off-by: default avatarJagannadha Sutradharudu Teki <jaganna@xilinx.com>
      Signed-off-by: default avatarAndy Fleming <afleming@freescale.com>
      1695b29a
    • Bo Shen's avatar
      mmc: fix env in mmc with redundant compile error · 5707df77
      Bo Shen authored
      
      The commit d196bd88 (env_mmc: add support for redundant environment)
      introduce the following compile error when enable redundant
      environment support with MMC
      ---8<---
      env_mmc.c:149: error: 'env_t' has no member named 'flags'
      env_mmc.c:248: error: 'env_t' has no member named 'flags'
      env_mmc.c:248: error: 'env_t' has no member named 'flags'
      env_mmc.c:250: error: 'env_t' has no member named 'flags'
      env_mmc.c:250: error: 'env_t' has no member named 'flags'
      env_mmc.c:252: error: 'env_t' has no member named 'flags'
      env_mmc.c:252: error: 'env_t' has no member named 'flags'
      env_mmc.c:254: error: 'env_t' has no member named 'flags'
      env_mmc.c:254: error: 'env_t' has no member named 'flags'
      env_mmc.c:267: error: 'env_t' has no member named 'flags'
      make[1]: *** [env_mmc.o] Error 1
      --->8---
      
      Add this patch to fix it
      
      Signed-off-by: default avatarBo Shen <voice.shen@atmel.com>
      Reviewed-by: default avatarMichael Heimpold <mhei@heimpold.de>
      Signed-off-by: default avatarAndy Fleming <afleming@freescale.com>
      5707df77
  2. Jun 11, 2013
    • Tom Rini's avatar
      077becc3
    • Marek Vasut's avatar
      ppc: ppmc7xx: Fix possible out-of-bound access · 8cf69553
      Marek Vasut authored
      
      The flash_info_t->start[] field is limited in size by CONFIG_SYS_MAX_FLASH_SECT
      macro, which is set to 19 for this board in the board config file. If we inspect
      the board/ppmc7xx/flash.c closely, especially the flash_get_size() function, we
      can notice the "switch ((long)flashtest)" at around line 80 having a few results
      which will set flash_info_t->sector_count to value higher than 19, for example
      "case AMD_ID_LV640U" will set it to 128. Notice that right underneath, iteration
      over flash_info_t->start[] happens and the upper bound for the interation is
      flash_info_t->sector_count. Now if the sector_count is 128 as it is for the
      AMD_ID_LV640U case, but the CONFIG_SYS_MAX_FLASH_SECT limiting the start[] is
      only 19, an access past the start[] array much happen. Moreover, during this
      iteration, the field is written to, so memory corruption is inevitable.
      
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Cc: Wolfgang Denk <wd@denx.de>
      Cc: Tom Rini <trini@ti.com>
      Cc: Richard Danter <richard.danter@windriver.com>
      8cf69553
    • Scott Wood's avatar
      powerpc: fix 8xx and 82xx type-punning warnings with GCC 4.7 · a166fbca
      Scott Wood authored
      
      C99's strict aliasing rules are insane to use in low-level code such as a
      bootloader, but as Wolfgang has rejected -fno-strict-aliasing in the
      past, add a union so that 16-bit accesses can be performed.
      
      Compile-tested only.
      
      Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
      Acked-by: default avatarWolfgang Denk <wd@denx.de>
      a166fbca
  3. Jun 08, 2013
    • Daniel Schwierzeck's avatar
      MIPS: asm/errno.h: switch to asm-generic/errno.h · e1208c2f
      Daniel Schwierzeck authored
      
      This fixes several warnings like
      
      In file included from ./u-boot/include/linux/mtd/mtd.h:13:0,
                       from env_onenand.c:37:
      ./u-boot/build/vct_platinumavc_onenand_small/include2/asm/errno.h:52:0: warning: "ENOMSG" redefined [enabled by default]
      
      Signed-off-by: default avatarDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
      e1208c2f
    • Gabor Juhos's avatar
      MIPS: fix __raw_* IO accessors · f0550f87
      Gabor Juhos authored
      
      The purpose of the __raw* IO accessors is to provide
      IO access in native-endian order. However in the current
      MIPS implementation, the 16 and 32 bit variants of the
      __raw accessors are swapping the values on big-endian
      systems if the CONFIG_SWAP_IO_SPACE option is enabled.
      
      The patch changes the IO accessor macros to fix this
      broken behaviour.
      
      Signed-off-by: default avatarGabor Juhos <juhosg@openwrt.org>
      Cc: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
      f0550f87
  4. Jun 07, 2013
  5. Jun 06, 2013
  6. Jun 05, 2013
  7. Jun 04, 2013
Loading