From aeff3e7d735a8313762c9e5d5689708cff02676a Mon Sep 17 00:00:00 2001
From: "Luke T. Shumaker" <lukeshu@lukeshu.com>
Date: Tue, 19 Nov 2024 23:18:45 -0700
Subject: w5500 & timeout fixes

---
 libdhcp/dhcp_client.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

(limited to 'libdhcp/dhcp_client.c')

diff --git a/libdhcp/dhcp_client.c b/libdhcp/dhcp_client.c
index 34ce8ac..4f01f70 100644
--- a/libdhcp/dhcp_client.c
+++ b/libdhcp/dhcp_client.c
@@ -691,7 +691,8 @@ static ssize_t dhcp_client_recv(struct dhcp_client *client, struct dhcp_recv_msg
 /** @return true if there's a conflict, false if the addr appears to be unused */
 static bool dhcp_check_conflict(implements_net_packet_conn *sock, struct net_ip4_addr addr) {
 	assert(sock);
-	return VCALL(sock, sendto, "CHECK_IP_CONFLICT", 17, addr, 5000) != NET_ETIMEDOUT;
+	ssize_t v = VCALL(sock, sendto, "CHECK_IP_CONFLICT", 17, addr, 5000);
+	return v != NET_EARP_TIMEOUT;
 }
 
 static void dhcp_client_take_lease(struct dhcp_client *client, struct dhcp_recv_msg *msg, bool ifup) {
@@ -768,7 +769,7 @@ static __attribute__((noreturn)) void dhcp_client_run(struct dhcp_client *client
 					/* ignore */
 				}
 				break;
-			case -NET_ETIMEDOUT:
+			case -NET_ERECV_TIMEOUT:
 				dhcp_client_setstate(client, STATE_INIT, 0, NULL, scratch_msg);
 				break;
 			default:
@@ -807,7 +808,7 @@ static __attribute__((noreturn)) void dhcp_client_run(struct dhcp_client *client
 			case 0:
 				/* discard */
 				break;
-			case -NET_ETIMEDOUT:
+			case -NET_ERECV_TIMEOUT:
 				dhcp_client_setstate(client, STATE_RENEWING, DHCP_MSGTYP_REQUEST, NULL, scratch_msg);
 				break;
 			default:
@@ -835,7 +836,7 @@ static __attribute__((noreturn)) void dhcp_client_run(struct dhcp_client *client
 					/* ignore */
 				}
 				break;
-			case -NET_ETIMEDOUT:
+			case -NET_ERECV_TIMEOUT:
 				client->lease_server_id = net_ip4_addr_zero;
 				dhcp_client_setstate(client, STATE_REBINDING, DHCP_MSGTYP_REQUEST, NULL, scratch_msg);
 				break;
@@ -861,7 +862,7 @@ static __attribute__((noreturn)) void dhcp_client_run(struct dhcp_client *client
 					/* ignore */
 				}
 				break;
-			case -NET_ETIMEDOUT:
+			case -NET_ERECV_TIMEOUT:
 				VCALL(client->iface, ifdown);
 				dhcp_client_setstate(client, STATE_BOUND, 0, NULL, scratch_msg);
 				break;
-- 
cgit v1.2.3-2-g168b