6b0b526a4f
Buffalo WCR-1166DS is a small wireless router with - MT7628AN + MT7612E - 64MiB DDR2 SDRAM - 16MiB SPI flash - 2T2R 11ac/a/b/g/n Wi-Fi - 2x 10/100M ethernet switch - 8x programmable LED - 3x button - UART pad on PCB (J2: 3.3V, GND, TX, RX) factory image can be installed via stock web UI. due to the "dual image" function in the bootloader, the second half of the SPI flash ("firmware2" partition) cannot be used as a part of the file system. Signed-off-by: FUKAUMI Naoki <naobsd@gmail.com>
30 lines
924 B
Diff
30 lines
924 B
Diff
--- a/drivers/mtd/mtdsplit/mtdsplit_trx.c
|
|
+++ b/drivers/mtd/mtdsplit/mtdsplit_trx.c
|
|
@@ -13,6 +13,7 @@
|
|
#include <linux/module.h>
|
|
#include <linux/init.h>
|
|
#include <linux/kernel.h>
|
|
+#include <linux/of.h>
|
|
#include <linux/slab.h>
|
|
#include <linux/mtd/mtd.h>
|
|
#include <linux/mtd/partitions.h>
|
|
@@ -20,7 +21,8 @@
|
|
|
|
#include "mtdsplit.h"
|
|
|
|
-#define TRX_MAGIC 0x30524448 /* "HDR0" */
|
|
+#define TRX_MAGIC 0x30524448 /* "HDR0" */
|
|
+#define TRX_MAGIC_BUFFALO 0x746f435c
|
|
|
|
struct trx_header {
|
|
__le32 magic;
|
|
@@ -82,7 +84,8 @@ mtdsplit_parse_trx(struct mtd_info *mast
|
|
if (ret)
|
|
continue;
|
|
|
|
- if (hdr.magic != cpu_to_le32(TRX_MAGIC)) {
|
|
+ if (hdr.magic != cpu_to_le32(TRX_MAGIC) &&
|
|
+ !(of_machine_is_compatible("buffalo,wcr-1166ds") && hdr.magic == cpu_to_le32(TRX_MAGIC_BUFFALO))) {
|
|
pr_debug("no valid trx header found in \"%s\" at offset %llx\n",
|
|
master->name, (unsigned long long) offset);
|
|
continue;
|