mtd: bcm47xxpart: limit scanned flash area on BCM47XX (MIPS) only
authorRafał Miłecki <zajec5@gmail.com>
Sat, 5 Dec 2015 01:09:43 +0000 (02:09 +0100)
committerBrian Norris <computersforpeace@gmail.com>
Sat, 23 Jan 2016 22:40:00 +0000 (14:40 -0800)
We allowed using bcm47xxpart on BCM5301X arch with commit:
9e3afa5f5c7 ("mtd: bcm47xxpart: allow enabling on ARCH_BCM_5301X")

BCM5301X devices may contain some partitions in higher memory, e.g.
Netgear R8000 has board_data at 0x2600000. To detect them we should
use size limit on MIPS only.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/bcm47xxpart.c

index 8282f47bcf5d374e03d343453d62ee0bc4851785..b06d4c4553ed859fd1c347dbfd0a27c0935d20c9 100644 (file)
@@ -118,8 +118,8 @@ static int bcm47xxpart_parse(struct mtd_info *master,
        /* Parse block by block looking for magics */
        for (offset = 0; offset <= master->size - blocksize;
             offset += blocksize) {
-               /* Nothing more in higher memory */
-               if (offset >= 0x2000000)
+               /* Nothing more in higher memory on BCM47XX (MIPS) */
+               if (config_enabled(CONFIG_BCM47XX) && offset >= 0x2000000)
                        break;
 
                if (curr_part >= BCM47XXPART_MAX_PARTS) {