1. 17 Feb, 2015 1 commit
  2. 15 Feb, 2015 1 commit
  3. 13 Feb, 2015 1 commit
    • Chen Jie's avatar
      jffs2: fix handling of corrupted summary length · 164c2406
      Chen Jie authored
      sm->offset maybe wrong but magic maybe right, the offset do not have CRC.
      
      Badness at c00c7580 [verbose debug info unavailable]
      NIP: c00c7580 LR: c00c718c CTR: 00000014
      REGS: df07bb40 TRAP: 0700   Not tainted  (2.6.34.13-WR4.3.0.0_standard)
      MSR: 00029000 <EE,ME,CE>  CR: 22084f84  XER: 00000000
      TASK = df84d6e0[908] 'mount' THREAD: df07a000
      GPR00: 00000001 df07bbf0 df84d6e0 00000000 00000001 00000000 df07bb58 00000041
      GPR08: 00000041 c0638860 00000000 00000010 22084f88 100636c8 df814ff8 00000000
      GPR16: df84d6e0 dfa558cc c05adb90 00000048 c0452d30 00000000 000240d0 000040d0
      GPR24: 00000014 c05ae734 c05be2e0 00000000 00000001 00000000 00000000 c05ae730
      NIP [c00c7580] __alloc_pages_nodemask+0x4d0/0x638
      LR [c00c718c] __alloc_pages_nodemask+0xdc/0x638
      Call Trace:
      [df07bbf0] [c00c718c] __alloc_pages_nodemask+0xdc/0x638 (unreliable)
      [df07bc90] [c00c7708] __get_free_pages+0x20/0x48
      [df07bca0] [c00f4a40] __kmalloc+0x15c/0x1ec
      [df07bcd0] [c01fc880] jffs2_scan_medium+0xa58/0x14d0
      [df07bd70] [c01ff38c] jffs2_do_mount_fs+0x1f4/0x6b4
      [df07bdb0] [c020144c] jffs2_do_fill_super+0xa8/0x260
      [df07bdd0] [c020230c] jffs2_fill_super+0x104/0x184
      [df07be00] [c0335814] get_sb_mtd_aux+0x9c/0xec
      [df07be20] [c033596c] get_sb_mtd+0x84/0x1e8
      [df07be60] [c0201ed0] jffs2_get_sb+0x1c/0x2c
      [df07be70] [c0103898] vfs_kern_mount+0x78/0x1e8
      [df07bea0] [c0103a58] do_kern_mount+0x40/0x100
      [df07bec0] [c011fe90] do_mount+0x240/0x890
      [df07bf10] [c0120570] sys_mount+0x90/0xd8
      [df07bf40] [c00110d8] ret_from_syscall+0x0/0x4
      
      === Exception: c01 at 0xff61a34
          LR = 0x100135f0
      Instruction dump:
      38800005 38600000 48010f41 4bfffe1c 4bfc2d15 4bfffe8c 72e90200 4082fc28
      3d20c064 39298860 8809000d 68000001 <0f000000> 2f800000 419efc0c 38000001
      mount: mounting /dev/mtdblock3 on /common failed: Input/output error
      Signed-off-by: default avatarChen Jie <chenjie6@huawei.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
      164c2406
  4. 08 Feb, 2015 3 commits
  5. 06 Feb, 2015 10 commits
  6. 02 Feb, 2015 2 commits
  7. 21 Jan, 2015 1 commit
  8. 20 Jan, 2015 4 commits
  9. 16 Jan, 2015 3 commits
  10. 13 Jan, 2015 5 commits
    • Graham Moore's avatar
      mtd: denali: fix incorrect bitmask error in denali_setup_dma · 7c272ac5
      Graham Moore authored
      commit 3157d1ed ("mtd: denali: remove unnecessary casts") introduced
      an error by using a wrong bitmask.
      
      A uint16_t cast was replaced with & 0xff, should be & 0xffff.
      Signed-off-by: default avatarGraham Moore <grmoore@opensource.altera.com>
      Signed-off-by: default avatarDinh Nguyen <dinguyen@opensource.altera.com>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      7c272ac5
    • Lee Jones's avatar
      mtd: st_spi_fsm: Fix [-Wsign-compare] build warning · a9b679bf
      Lee Jones authored
      drivers/mtd/devices/st_spi_fsm.c:1647:17:
        warning: comparison between signed and unsigned integer expressions
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      a9b679bf
    • Lee Jones's avatar
      mtd: st_spi_fsm: Obtain and use EMI clock · 69d5af8d
      Lee Jones authored
      ST's Common Clk Framework is now available. This patch ensures the FSM
      makes use of it by obtaining and enabling the EMI clock. If system fails
      to provide the EMI clock, we bomb out.
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      69d5af8d
    • Lee Jones's avatar
      mtd: st_spi_fsm: Extend fsm_clear_fifo to handle unwanted bytes · 5ecd3ea1
      Lee Jones authored
      Under certain conditions, the SPI-FSM Controller can be left in a state where
      the data FIFO is not entirely empty.  This can lead to problems where subsequent
      data transfers appear to have been shifted by a number of unidentified bytes.
      
      One simple example would be an errant FSM sequence which loaded more data to the
      FIFO than was read by the host.  Another more interesting case results from an
      obscure artefact in the FSM Controller.  When switching from data transfers in
      x4 or x2 mode to data transfers in x1 mode, extraneous bytes will appear in the
      FIFO, unless the previous data transfer was a multiple of 32 cycles (i.e. 8
      bytes for x2, and 16 bytes for x4).  This applies equally whether FSM is being
      operated directly by a S/W driver, or by the SPI boot-controller in FSM-Boot
      mode.  Furthermore, data in the FIFO not only survive a transition between
      FSM-Boot and FSM, but also a S/W reset of IP block [1].
      
      By taking certain precautions, it is possible to prevent the driver from causing
      this type of problem (e.g. ensuring that the host and programmed sequence
      agree on the transfer size, and restricting transfer sizes to multiples of
      32-cycles [2]).  However, at the point the driver is loaded, no assumptions can be
      made regarding the state of the FIFO.  Even if previous S/W drivers have behaved
      correctly, it is impossible to control the number of transactions serviced by
      the controller operating in FSM-Boot.
      
      To address this problem, we ensure the FIFO is cleared during initialisation,
      before performing any FSM operations.  Previously, the fsm_clear_fifo() code was
      capable of detecting and clearing any unwanted 32-bit words from the FIFO.  This
      patch extends the capability to handle an arbitrary number of bytes present in
      the FIFO [3].  Now that the issue is better understood, we also remove the calls
      to fsm_clear_fifo() following the fsm_read() and fsm_write() operations.
      
      The process of actually clearing the FIFO deserves a mention.  While the FIFO
      may contain any number of bytes, the SPI_FAST_SEQ_STA register only reports the
      number of complete 32-bit words present.  Furthermore, data can only be drained
      from the FIFO by reading complete 32-bit words.  With this in mind, a two stage
      process is used to the clear the FIFO:
      
          1. Read any complete 32-bit words from the FIFO, as reported by the
                 SPI_FAST_SEQ_STA register.
      
          2. Mop up any remaining bytes.  At this point, it is not known if there
                 are 0, 1, 2, or 3 bytes in the FIFO.  To handle all cases, a dummy
                 FSM sequence is used to load one byte at a time, until a complete
                 32-bit word is formed; at most, 4 bytes will need to be loaded.
      
      [1] Although this issue has existed since early versions of the SPI-FSM
          controller, its full extent only emerged recently as a consequence of the
          targetpacks starting to use FSM-Boot(x4) as the default configuration.
      
      [2] The requirement to restrict transfers to multiples of 32 cycles was found
          empirically back when DUAL and QUAD mode support was added.  The current
          analysis now gives a satisfactory explanation for this requirement.
      
      [3] Theoretically, it is possible for the FIFO to contain an arbitrary number of
          bits.  However, since there are no known use-cases that leave incomplete
          bytes in the FIFO, only words and bytes are considered here.
      Signed-off-by: default avatarAngus Clark <angus.clark@st.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      5ecd3ea1
    • Rickard Strandqvist's avatar
      jffs2: compr_rubin: Remove unused function · e4999bbe
      Rickard Strandqvist authored
      Remove the function pulledbits() that is not used anywhere.
      
      This was partially found by using a static code analysis program called cppcheck.
      Signed-off-by: default avatarRickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
      Reviewed-by: default avatarRichard Weinberger <richard@nod.at>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      e4999bbe
  11. 10 Jan, 2015 2 commits
  12. 09 Jan, 2015 4 commits
  13. 08 Jan, 2015 2 commits
  14. 07 Jan, 2015 1 commit