udhcpc[6]: on SIGUSR1, do not go from rebind to renew state

function                                             old     new   delta
udhcpc6_main                                        2628    2636      +8
udhcpc_main                                         2556    2563      +7
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 15/0)               Total: 15 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c
index e55b606..f388003 100644
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -1582,6 +1582,9 @@
 			if (client_data.state <= REQUESTING)
 				/* Initial negotiations in progress, do not disturb */
 				break;
+			if (client_data.state == REBINDING)
+				/* Do not go back from rebind to renew state */
+				break;
 
 			if (lease_remaining > 30) /* if renew fails, do not go back to BOUND */
 				lease_remaining = 30;
@@ -1589,21 +1592,20 @@
 			packet_num = 0;
 
 			switch (client_data.state) {
-			/* Try to renew/rebind */
 			case BOUND:
 			case RENEWING:
-			case REBINDING:
+				/* Try to renew/rebind */
 				client_data.state = RENEW_REQUESTED;
 				goto got_SIGUSR1;
 
-			/* Two SIGUSR1 received, start things over */
 			case RENEW_REQUESTED:
+				/* Two SIGUSR1 received, start things over */
 				change_listen_mode(LISTEN_NONE);
 				d4_run_script_deconfig();
 
-			/* Wake from SIGUSR2-induced deconfigured state */
 			default:
 			/* case RELEASED: */
+				/* Wake from SIGUSR2-induced deconfigured state */
 				change_listen_mode(LISTEN_NONE);
 			}
 			client_data.state = INIT_SELECTING;