diff --git a/Kconfig b/Kconfig
index 51a2e1b..32e8771 100644
--- a/Kconfig
+++ b/Kconfig
@@ -204,16 +204,6 @@
 	  hashing is available using hardware, RSA library will use it.
 	  See doc/uImage.FIT/signature.txt for more details.
 
-config FIT_SIGNATURE_MAX_SIZE
-	hex "Max size of signed FIT structures"
-	depends on FIT_SIGNATURE
-	default 0x10000000
-	help
-	  This option sets a max size in bytes for verified FIT uImages.
-	  A sane value of 256MB protects corrupted DTB structures from overlapping
-	  device memory. Assure this size does not extend past expected storage
-	  space.
-
 config SYS_EXTRA_OPTIONS
 	string "Extra Options (DEPRECATED)"
 	help
diff --git a/common/image-sig.c b/common/image-sig.c
index 175fbb8..eda5e13 100644
--- a/common/image-sig.c
+++ b/common/image-sig.c
@@ -151,11 +151,6 @@
 {
 	char *algo_name;
 
-	if (fdt_totalsize(fit) > CONFIG_FIT_SIGNATURE_MAX_SIZE) {
-		*err_msgp = "Total size too large";
-		return 1;
-	}
-
 	if (fit_image_hash_get_algo(fit, noffset, &algo_name)) {
 		*err_msgp = "Can't get hash algo property";
 		return -1;
@@ -370,11 +365,8 @@
 	/* Add the strings */
 	strings = fdt_getprop(fit, noffset, "hashed-strings", NULL);
 	if (strings) {
-		/*
-		 * The strings region offset must be a static 0x0.
-		 * This is set in tool/image-host.c
-		 */
-		fdt_regions[count].offset = fdt_off_dt_strings(fit);
+		fdt_regions[count].offset = fdt_off_dt_strings(fit) +
+				fdt32_to_cpu(strings[0]);
 		fdt_regions[count].size = fdt32_to_cpu(strings[1]);
 		count++;
 	}
diff --git a/common/led.c b/common/led.c
index 9667015..66b3900 100644
--- a/common/led.c
+++ b/common/led.c
@@ -186,7 +186,7 @@
 	reg_write(dev, AW2015_REG_GCR, AW2015_LED_CHARGE_DISABLE_MASK,
 		  AW2015_LED_CHARGE_DISABLE);
 	reg_write(dev, AW2015_REG_IMAX, AW2015_LED_IMX_MASK,
-		  AW2015_LED_25_5mA);
+		  AW2015_LED_12_75mA);
 	reg_write(dev, AW2015_REG_LEDCTR, AW2015_LED_PWMLOG_MASK,
 		  AW2015_LED_PWMLOG_LEANER);
 	/* disable LEDs to avoid red lighting first */
diff --git a/include/led_aw2015.h b/include/led_aw2015.h
index 7c0b809..cbd2399 100644
--- a/include/led_aw2015.h
+++ b/include/led_aw2015.h
@@ -33,7 +33,7 @@
 #define AW2015_LED_CHARGE_DISABLE 0x02
 
 #define AW2015_LED_IMX_MASK 0b11
-#define AW2015_LED_25_5mA 0x03
+#define AW2015_LED_12_75mA 0x02
 
 #define AW2015_LED_PWMLOG_MASK 0b11
 #define AW2015_LED_PWMLOG_LEANER 0b11
diff --git a/net/net.c b/net/net.c
index ea58973..fba111e 100644
--- a/net/net.c
+++ b/net/net.c
@@ -1218,9 +1218,6 @@
 			return;
 		}
 
-		if (ntohs(ip->udp_len) < UDP_HDR_SIZE || ntohs(ip->udp_len) > ntohs(ip->ip_len))
-			return;
-
 		debug_cond(DEBUG_DEV_PKT,
 			   "received UDP (to=%pI4, from=%pI4, len=%d)\n",
 			   &dst_ip, &src_ip, len);
diff --git a/tools/Makefile b/tools/Makefile
index 7293856..cd70c7d 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -123,7 +123,6 @@
 # This affects include/image.h, but including the board config file
 # is tricky, so manually define this options here.
 HOST_EXTRACFLAGS	+= -DCONFIG_FIT_SIGNATURE
-HOST_EXTRACFLAGS	+= -DCONFIG_FIT_SIGNATURE_MAX_SIZE=$(CONFIG_FIT_SIGNATURE_MAX_SIZE)
 endif
 
 ifdef CONFIG_SYS_U_BOOT_OFFS
diff --git a/tools/image-host.c b/tools/image-host.c
index c5a484a..7effb6c 100644
--- a/tools/image-host.c
+++ b/tools/image-host.c
@@ -134,7 +134,6 @@
 
 		ret = fdt_setprop(fit, noffset, "hashed-nodes",
 				   region_prop, region_proplen);
-		/* This is a legacy offset, it is unused, and must remain 0. */
 		strdata[0] = 0;
 		strdata[1] = cpu_to_fdt32(string_size);
 		if (!ret) {
