diff --git a/target/linux/lantiq/dts/BTHOMEHUBV5A.dts b/target/linux/lantiq/dts/BTHOMEHUBV5A.dts
index 2dea92709568a80f879bd5420b34a10f163b9b03..e1b3e7131d739c386031b7c02d70ace70bc935b5 100644
--- a/target/linux/lantiq/dts/BTHOMEHUBV5A.dts
+++ b/target/linux/lantiq/dts/BTHOMEHUBV5A.dts
@@ -207,8 +207,6 @@
 		reg = <0x7000 0 0 0 0>;
 		qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
 		qca,disable-5ghz;
-		mtd-mac-address = <&caldata 0x110c>;
-		mtd-mac-address-increment = <2>;
 	};
 };
 
diff --git a/target/linux/lantiq/patches-4.4/0047-mtd-plat-nand-pass-of-node.patch b/target/linux/lantiq/patches-4.4/0047-mtd-plat-nand-pass-of-node.patch
new file mode 100644
index 0000000000000000000000000000000000000000..f7d22b36f720d4b4293666c76c83d8dc0a9748fb
--- /dev/null
+++ b/target/linux/lantiq/patches-4.4/0047-mtd-plat-nand-pass-of-node.patch
@@ -0,0 +1,27 @@
+--- a/drivers/mtd/nand/plat_nand.c
++++ b/drivers/mtd/nand/plat_nand.c
+@@ -31,6 +31,7 @@ static int plat_nand_probe(struct platfo
+ {
+ 	struct platform_nand_data *pdata = dev_get_platdata(&pdev->dev);
+ 	struct mtd_part_parser_data ppdata;
++	struct device_node *np = pdev->dev.of_node;
+ 	struct plat_nand_data *data;
+ 	struct resource *res;
+ 	const char **part_types;
+@@ -58,6 +59,7 @@ static int plat_nand_probe(struct platfo
+ 		return PTR_ERR(data->io_base);
+ 
+ 	data->chip.priv = &data;
++	data->chip.flash_node = np;
+ 	data->mtd.priv = &data->chip;
+ 	data->mtd.dev.parent = &pdev->dev;
+ 
+@@ -105,7 +107,7 @@ static int plat_nand_probe(struct platfo
+ 
+ 	part_types = pdata->chip.part_probe_types;
+ 
+-	ppdata.of_node = pdev->dev.of_node;
++	ppdata.of_node = np;
+ 	err = mtd_device_parse_register(&data->mtd, part_types, &ppdata,
+ 					pdata->chip.partitions,
+ 					pdata->chip.nr_partitions);