more devfs related bugs
authorMike Baker <mbm@openwrt.org>
Fri, 9 Mar 2007 18:39:34 +0000 (18:39 +0000)
committerMike 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

index 3562eb462488109817a8a75fba6b15dc8d4bc221..0afca57472d5ae44e1b149b0c7169925b959548a 100644 (file)
@@ -33,8 +33,6 @@
 #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 */
@@ -78,18 +76,25 @@ int main(int argc, char **argv)
        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);
        }
-       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);
        }