uboot-mediatek: unifi-6-lr: fix erase of production parition
[openwrt/staging/zorun.git] / package / boot / uboot-mediatek / patches / 300-mt7622-generic-reset-button-ignore-env.patch
index 8b382487572e85f673de9214c3ecb44a0b398faa..e794e0a0db08fa1a85346be57ae483d441ba8107 100644 (file)
@@ -17,7 +17,7 @@
  
  DECLARE_GLOBAL_DATA_PTR;
  
-@@ -20,7 +27,19 @@ int board_init(void)
+@@ -20,7 +27,20 @@ int board_init(void)
  
  int board_late_init(void)
  {
 +      struct udevice *dev;
 +      int ret;
 +
-+      ret = !!button_get_by_label(CONFIG_RESET_BUTTON_LABEL, &dev);
-+
-+      if (!ret) {
++      if (!button_get_by_label(CONFIG_RESET_BUTTON_LABEL, &dev)) {
++              puts("reset button found\n");
 +#ifdef CONFIG_RESET_BUTTON_SETTLE_DELAY
-+              udelay(1000 * CONFIG_RESET_BUTTON_SETTLE_DELAY);
++              mdelay(CONFIG_RESET_BUTTON_SETTLE_DELAY);
 +#endif
-+              ret = !button_get_state(dev);
++              if (button_get_state(dev) == BUTTON_ON) {
++                      puts("button pushed, resetting environment\n");
++                      gd->env_valid = ENV_INVALID;
++              }
 +      }
 +
-+      gd->env_valid = ret; //to load environment variable from persistent store
        env_relocate();
        return 0;
  }