Go to file
Gabor Juhos 621979b49f kernel: yaffs: use new_sync_{read,write} for 3.18+
Using the do_sync_{read,write} functions in conjunction
with the generic_file_{read,write}_iter causes a kernel
panic like this:

  root@OpenWrt:/# mount -t yaffs /dev/mtdblock5 /mnt
  [ 2884.110000] yaffs: dev is 32505861 name is "mtdblock5" rw
  [ 2884.120000] yaffs: passed flags ""
  root@OpenWrt:/# hexdump -vC -n 64 /mnt/kernel
  [ 2902.700000] CPU 0 Unable to handle kernel paging request at virtual \
    address 00000000, epc == 00000000, ra == 80129414
  [ 2902.710000] Oops[#1]:
  [ 2902.710000] CPU: 0 PID: 1030 Comm: hexdump Not tainted 3.18.9 #2
  [ 2902.710000] task: 878e7a20 ti: 868c6000 task.ti: 868c6000
  [ 2902.710000] $ 0   : 00000000 fffffff8 00000000 00000000
  [ 2902.710000] $ 4   : 868c7e70 868c7ea8 00000001 868c7f08
  [ 2902.710000] $ 8   : 00000038 80064f18 80072280 00000000
  [ 2902.710000] $12   : 7fa152b8 7709e3a0 00c42008 7709e3a0
  [ 2902.710000] $16   : 868c7f08 86a46000 00000010 878e7a20
  [ 2902.710000] $20   : 7705c4b0 00000010 00000000 00000000
  [ 2902.710000] $24   : 770960bc 7707dd78
  [ 2902.710000] $28   : 868c6000 868c7e58 7f8e7030 80129414
  [ 2902.710000] Hi    : 00000000
  [ 2902.710000] Lo    : ffffffff
  [ 2902.710000] epc   : 00000000   (null)
  [ 2902.710000]     Not tainted
  [ 2902.710000] ra    : 80129414 do_sync_read+0x7c/0xb4
  [ 2902.710000] Status: 1900dc03 KERNEL EXL IE
  [ 2902.710000] Cause : 00800008
  [ 2902.710000] BadVA : 00000000
  [ 2902.710000] PrId  : 00019750 (MIPS 74Kc)

Change the yaffs code to use the new_sync_{read,write} functions
instead.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 44974
2015-03-25 08:59:12 +00:00
config x86: use PARTUUID instead explicitly specifying the device by default 2015-03-24 10:08:12 +00:00
docs docs: update remaining references to functions.sh 2012-12-20 15:29:33 +00:00
include build: remove obsolete references to cris and avr32 2015-03-24 10:07:40 +00:00
package iproute2: fix build error with musl (#19302) 2015-03-25 00:11:07 +00:00
scripts buildroot: make it easier to build all kmods 2015-03-16 11:51:54 +00:00
target kernel: yaffs: use new_sync_{read,write} for 3.18+ 2015-03-25 08:59:12 +00:00
toolchain toolchain: remove obsolete references to the cris architecture 2015-03-24 10:07:31 +00:00
tools automake: portability fixes 2015-03-24 13:13:01 +00:00
.gitattributes add .gitattributes to prevent the git autocrlf option from messing with CRLF/LF in files 2012-05-08 13:30:49 +00:00
.gitignore add git-src to .gitignore 2014-01-12 12:06:39 +00:00
BSDmakefile add missing copyright header 2007-02-26 01:05:09 +00:00
Config.in scripts/config: sync with linux upstream 2015-01-08 14:33:53 +00:00
LICENSE finally move buildroot-ng to trunk 2016-03-20 17:29:15 +01:00
Makefile Revert "build: use ONESHELL to speed up scanning and the toplevel makefile" 2014-10-22 10:47:26 +00:00
README Add 'subversion' build dependency to README 2014-08-31 12:06:32 +00:00
feeds.conf.default feeds.conf.default: add new targets feed 2015-03-19 11:58:35 +00:00
rules.mk rules.mk: add newline definition 2015-03-15 19:47:46 +00:00

README

This is the buildsystem for the OpenWrt Linux distribution.

Please use "make menuconfig" to configure your appreciated
configuration for the toolchain and firmware.

You need to have installed gcc, binutils, bzip2, flex, python, perl, make,
find, grep, diff, unzip, gawk, getopt, subversion, libz-dev and libc headers.

Run "./scripts/feeds update -a" to get all the latest package definitions
defined in feeds.conf / feeds.conf.default respectively
and "./scripts/feeds install -a" to install symlinks of all of them into
package/feeds/.

Use "make menuconfig" to configure your image.

Simply running "make" will build your firmware.
It will download all sources, build the cross-compile toolchain, 
the kernel and all choosen applications.

You can use "scripts/flashing/flash.sh" for remotely updating your embedded
system via tftp.

The OpenWrt system is documented in docs/. You will need a LaTeX distribution
and the tex4ht package to build the documentation. Type "make -C docs/" to build it.

To build your own firmware you need to have access to a Linux, BSD or MacOSX system
(case-sensitive filesystem required). Cygwin will not be supported because of
the lack of case sensitiveness in the file system.


Sunshine!
	Your OpenWrt Project
	http://openwrt.org