diff --git a/src/include/gpxe/hello.h b/src/include/gpxe/hello.h index de8127bf..a31da3e1 100644 --- a/src/include/gpxe/hello.h +++ b/src/include/gpxe/hello.h @@ -41,6 +41,6 @@ struct hello_request { int complete; }; -extern int hello_connect ( struct hello_request *hello ); +extern void hello_connect ( struct hello_request *hello ); #endif diff --git a/src/include/gpxe/tcp.h b/src/include/gpxe/tcp.h index 0aa209b7..9b7ecc80 100644 --- a/src/include/gpxe/tcp.h +++ b/src/include/gpxe/tcp.h @@ -94,7 +94,7 @@ struct tcp_connection { extern void *tcp_buffer; extern size_t tcp_buflen; -extern int tcp_connect ( struct tcp_connection *conn ); +extern void tcp_connect ( struct tcp_connection *conn ); extern void tcp_send ( struct tcp_connection *conn, const void *data, size_t len ); extern void tcp_close ( struct tcp_connection *conn ); diff --git a/src/net/tcp.c b/src/net/tcp.c index 50c9731f..ae964748 100644 --- a/src/net/tcp.c +++ b/src/net/tcp.c @@ -64,18 +64,11 @@ size_t tcp_buflen = UIP_BUFSIZE - ( 40 + UIP_LLH_LEN ); * Open a TCP connection * * @v conn TCP connection - * @ret 0 Success - * @ret <0 Failure * * This sets up a new TCP connection to the remote host specified in - * tcp_connection::sin. The actual SYN packet will not be sent out - * until run_tcpip() is called for the first time. - * - * @todo Use linked lists instead of a static buffer, and thereby - * remove the only potential failure case, giving this function - * a void return type. + * tcp_connection::sin. */ -int tcp_connect ( struct tcp_connection *conn ) { +void tcp_connect ( struct tcp_connection *conn ) { struct uip_conn *uip_conn; u16_t ipaddr[2]; @@ -86,11 +79,9 @@ int tcp_connect ( struct tcp_connection *conn ) { * ( ( uint32_t * ) ipaddr ) = conn->sin.sin_addr.s_addr; uip_conn = uip_connect ( ipaddr, conn->sin.sin_port ); - if ( ! uip_conn ) - return -1; - +#warning "Use linked lists so that uip_connect() cannot fail" + assert ( uip_conn != NULL ); *( ( void ** ) uip_conn->appstate ) = conn; - return 0; } /** diff --git a/src/proto/iscsi.c b/src/proto/iscsi.c index 40e48e11..1a808b00 100644 --- a/src/proto/iscsi.c +++ b/src/proto/iscsi.c @@ -544,8 +544,7 @@ void iscsi_wakeup ( struct iscsi_session *iscsi ) { switch ( iscsi->state ) { case ISCSI_STATE_NOT_CONNECTED: case ISCSI_STATE_FAILED: - if ( tcp_connect ( &iscsi->tcp ) != 0 ) - iscsi_fail ( iscsi ); + tcp_connect ( &iscsi->tcp ); iscsi_start_login ( iscsi ); break; case ISCSI_STATE_IDLE: