OSDN Git Service

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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Jul 2017 12:37:17 +0000 (14:37 +0200)
commit 2a36a5c30eab9cd1c9d2d08bd27cd763325d70c5 upstream.

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>
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mtd/bcm47xxpart.c

index 5abab88..546170a 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) {