projects
/
openwrt
/
staging
/
chunkeey.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
65e5986
)
more devfs related bugs
author
Mike Baker
<mbm@openwrt.org>
Fri, 9 Mar 2007 18:39:34 +0000
(18:39 +0000)
committer
Mike Baker
<mbm@openwrt.org>
Fri, 9 Mar 2007 18:39:34 +0000
(18:39 +0000)
SVN-Revision: 6543
target/linux/brcm-2.4/src/jffs2root.c
patch
|
blob
|
history
diff --git
a/target/linux/brcm-2.4/src/jffs2root.c
b/target/linux/brcm-2.4/src/jffs2root.c
index 3562eb462488109817a8a75fba6b15dc8d4bc221..0afca57472d5ae44e1b149b0c7169925b959548a 100644
(file)
--- a/
target/linux/brcm-2.4/src/jffs2root.c
+++ b/
target/linux/brcm-2.4/src/jffs2root.c
@@
-33,8
+33,6
@@
#include <sys/ioctl.h>
#include "mtd.h"
#include <sys/ioctl.h>
#include "mtd.h"
-#define FILENAME "/dev/mtdblock/1"
-
struct trx_header {
unsigned magic; /* "HDR0" */
unsigned len; /* Length of file including header */
struct trx_header {
unsigned magic; /* "HDR0" */
unsigned len; /* Length of file including header */
@@
-78,18
+76,25
@@
int main(int argc, char **argv)
struct trx_header *ptr;
char *buf;
struct trx_header *ptr;
char *buf;
- if (((fd = open(FILENAME, O_RDWR)) < 0)
- || ((len = lseek(fd, 0, SEEK_END)) < 0)
+ if ((fd = open("/dev/mtdblock/1", O_RDWR)) < 0) {
+ fd = open("/dev/mtdblock1", O_RDWR);
+ }
+
+ if (((len = lseek(fd, 0, SEEK_END)) < 0)
|| ((ptr = (struct trx_header *) mmap(0, len, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0)) == (void *) (-1))
|| (ptr->magic != 0x30524448)) {
printf("Error reading trx info\n");
exit(-1);
}
|| ((ptr = (struct trx_header *) mmap(0, len, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0)) == (void *) (-1))
|| (ptr->magic != 0x30524448)) {
printf("Error reading trx info\n");
exit(-1);
}
- close (fd);
- if (((fd = open("/dev/mtd/1", O_RDWR)) < 0)
- || (ioctl(fd, MEMGETINFO, &mtdInfo))) {
- fprintf(stderr, "Could not get MTD device info from %s\n", FILENAME);
+ close(fd);
+
+ if ((fd = open("/dev/mtd/1", O_RDWR)) < 0) {
+ fd = open("/dev/mtd1", O_RDWR);
+ }
+
+ if (ioctl(fd, MEMGETINFO, &mtdInfo)) {
+ fprintf(stderr, "Could not get MTD device info from mtd\n");
close(fd);
exit(1);
}
close(fd);
exit(1);
}