diff options
author | Michael Brown <mcb30@etherboot.org> | 2007-07-03 00:57:53 +0100 |
---|---|---|
committer | Michael Brown <mcb30@etherboot.org> | 2007-07-03 00:57:53 +0100 |
commit | 258afef751b82c5443038ce4e1d4b7d88f28cfd8 (patch) | |
tree | ef23a946a03515150be2acc33d3fdbee24bcf074 /src | |
parent | a2a0c2eace7d4d25f6ac5cac90a1e02c205f212c (diff) | |
download | ipxe-258afef751b82c5443038ce4e1d4b7d88f28cfd8.zip ipxe-258afef751b82c5443038ce4e1d4b7d88f28cfd8.tar.gz ipxe-258afef751b82c5443038ce4e1d4b7d88f28cfd8.tar.bz2 |
Add missing call to free_iob() in pxenv_undi_isr().
Correct typo in pxenv_set_station_address().
Diffstat (limited to 'src')
-rw-r--r-- | src/interface/pxe/pxe_undi.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/interface/pxe/pxe_undi.c b/src/interface/pxe/pxe_undi.c index 4e7529a..e085a93 100644 --- a/src/interface/pxe/pxe_undi.c +++ b/src/interface/pxe/pxe_undi.c @@ -35,7 +35,6 @@ #include <gpxe/ip.h> #include <gpxe/arp.h> #include <gpxe/rarp.h> -#include <gpxe/shutdown.h> #include "pxe.h" /** @@ -284,7 +283,7 @@ pxenv_undi_set_station_address ( struct s_PXENV_UNDI_SET_STATION_ADDRESS &undi_set_station_address->StationAddress, pxe_netdev->ll_protocol->ll_addr_len ); - undi_set_station_address = PXENV_STATUS_SUCCESS; + undi_set_station_address->Status = PXENV_STATUS_SUCCESS; return PXENV_EXIT_SUCCESS; } @@ -559,12 +558,11 @@ PXENV_EXIT_t pxenv_undi_isr ( struct s_PXENV_UNDI_ISR *undi_isr ) { DBG ( " RECEIVE %zd", len ); if ( len > sizeof ( basemem_packet ) ) { /* Should never happen */ - undi_isr->FuncFlag = PXENV_UNDI_ISR_OUT_DONE; - undi_isr->Status = PXENV_STATUS_OUT_OF_RESOURCES; - return PXENV_EXIT_FAILURE; + len = sizeof ( basemem_packet ); } memcpy ( basemem_packet, iobuf->data, len ); + /* Fill in UNDI_ISR structure */ undi_isr->FuncFlag = PXENV_UNDI_ISR_OUT_RECEIVE; undi_isr->BufferLength = len; undi_isr->FrameLength = len; @@ -576,6 +574,9 @@ PXENV_EXIT_t pxenv_undi_isr ( struct s_PXENV_UNDI_ISR *undi_isr ) { /* Probably ought to fill in packet type */ undi_isr->ProtType = P_UNKNOWN; undi_isr->PktType = XMT_DESTADDR; + + /* Free packet */ + free_iob ( iobuf ); break; default : DBG ( " INVALID(%04x)", undi_isr->FuncFlag ); |