mac_cb->cpld_led_value = value;
                }
        } else {
-               dsaf_write_syscon(mac_cb->cpld_ctrl, mac_cb->cpld_ctrl_reg,
-                                 CPLD_LED_DEFAULT_VALUE);
-               mac_cb->cpld_led_value = CPLD_LED_DEFAULT_VALUE;
+               value = (mac_cb->cpld_led_value) & (0x1 << DSAF_LED_ANCHOR_B);
+               dsaf_write_syscon(mac_cb->cpld_ctrl,
+                                 mac_cb->cpld_ctrl_reg, value);
+               mac_cb->cpld_led_value = value;
        }
 }
 
                             CPLD_LED_ON_VALUE);
                dsaf_write_syscon(mac_cb->cpld_ctrl, mac_cb->cpld_ctrl_reg,
                                  mac_cb->cpld_led_value);
-               return 2;
+               break;
        case HNAE_LED_INACTIVE:
                dsaf_set_bit(mac_cb->cpld_led_value, DSAF_LED_ANCHOR_B,
                             CPLD_LED_DEFAULT_VALUE);
                                  mac_cb->cpld_led_value);
                break;
        default:
-               break;
+               dev_err(mac_cb->dev, "invalid led state: %d!", status);
+               return -EINVAL;
        }
 
        return 0;