icE1usb fw: Update LED status even in E1 FSM is in IDLE state

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Change-Id: I82b867c4886c9f34ff685764424d3db9a8303789
diff --git a/firmware/ice40-riscv/icE1usb/e1.c b/firmware/ice40-riscv/icE1usb/e1.c
index 1b6d978..09bc6d2 100644
--- a/firmware/ice40-riscv/icE1usb/e1.c
+++ b/firmware/ice40-riscv/icE1usb/e1.c
@@ -444,10 +444,6 @@
 	uint32_t bd;
 	unsigned int ofs;
 
-	/* Active ? */
-	if ((e1->rx.state == IDLE) && (e1->tx.state == IDLE))
-		return;
-
 	/* HACK: LED link status */
 	if (e1_regs->rx.csr & E1_RX_SR_ALIGNED) {
 		e1_platform_led_set(port, E1P_LED_GREEN, E1P_LED_ST_ON);
@@ -461,6 +457,10 @@
 		/* TODO: completely off if rx tick counter not incrementing */
 	}
 
+	/* Active ? */
+	if ((e1->rx.state == IDLE) && (e1->tx.state == IDLE))
+		return;
+
 	/* Recover any done TX BD */
 	while ( (bd = e1_regs->tx.bd) & E1_BD_VALID ) {
 		e1f_multiframe_read_discard(&e1->tx.fifo);