ipq806x: remove "firmware" partition definition from netgear routers
authorHannu Nyman <hannu.nyman@iki.fi>
Wed, 27 Jun 2018 18:52:45 +0000 (21:52 +0300)
committerMathias Kresin <dev@kresin.me>
Wed, 27 Jun 2018 20:10:23 +0000 (22:10 +0200)
Remove the "firmware" partition definition from the DTS of R7800
to fix sysupgrade.

Commit 4645a6d3 defined CONFIG_MTD_SPLIT_UIMAGE_FW=y for ipq806x
and that causes mtd to misbehave as additional kernel and ubi
partitions are detected from inside the "firmware" partition.
  [    1.111324] 0x000001480000-0x000001880000 : "kernel"
  [    1.121005] 0x000001880000-0x000007900000 : "ubi"
  [    1.283912] 0x000007900000-0x000008000000 : "reserve"
  [    1.296407] 0x000001480000-0x000007900000 : "firmware"
  [    1.468043] no rootfs found after FIT image in "firmware"
  [    2.426860] 2 uimage-fw partitions found on MTD device firmware
  [    2.426931] 0x000001480000-0x000001880000 : "kernel"
  [    2.440420] 0x000001880000-0x000007900000 : "ubi"

Both kernel and ubi are already defined in DTS, so this duplication
leads into errors in sysupgrade:
  Writing from <stdin> to kernel ...
  ubiattach: error!: strtoul: unable to parse the number '6 mtd10'
  ubiattach: error!: bad MTD device number: "6 mtd10"

The partition is defined to same area as kernel+ubi, and is not
needed for sysupgrade anymore. Remove it to fix things.

Only tested for the R7800 but all of them should behave equal.

Fixes: FS#1617
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
[squashed commits, add "tested on" note]
Signed-off-by: Mathias Kresin <dev@kresin.me>
target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-d7800.dts
target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-r7500.dts
target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-r7500v2.dts
target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8065-r7800.dts

index 027ac30821078db989b7df97df3527252a52641e..209d513f1b790e0646aa830071ec8efd27e351bb 100644 (file)
                                                reg = <0x7900000 0x0700000>;
                                                read-only;
                                        };
-
-                                       firmware@1480000 {
-                                               label = "firmware";
-                                               reg = <0x1480000 0x2000000>;
-                                       };
                                };
                        };
                };
index 7a209ece12ef43bc0736e81e7caa58fd59199c3c..9ce572bd8916b42c02d7ed18c9b9bec1e0d9ebc8 100644 (file)
                                                reg = <0x3940000 0x46c0000>;
                                                read-only;
                                        };
-
-                                       firmware@1340000 {
-                                               label = "firmware";
-                                               reg = <0x1340000 0x1a00000>;
-                                       };
                                };
                        };
                };
index 089445fc3ea109fc459bad8bf54ee799df1c326c..30bf0abd4b0e4179a85762ed597bbd973ed9ec85 100644 (file)
                                                reg = <0x7900000 0x0700000>;
                                                read-only;
                                        };
-
-                                       firmware@1480000 {
-                                               label = "firmware";
-                                               reg = <0x1480000 0x2000000>;
-                                       };
                                };
                        };
                };
index c80f292b72e54bcf47be685719a2c1e45339142e..29b14df4d27076459db6cc0dfecbdae8151b46a1 100644 (file)
                                                reg = <0x7900000 0x0700000>;
                                                read-only;
                                        };
-
-                                       firmware@1480000 {
-                                               label = "firmware";
-                                               reg = <0x1480000 0x6480000>;
-                                       };
                                };
                        };
                };