| 
				
			 | 
			
			
				
				@@ -35,7 +35,6 @@ 
			 | 
		
		
	
		
			
			| 
				35
			 | 
			
				35
			 | 
			
			
				
				 #include <gpxe/ip.h> 
			 | 
		
		
	
		
			
			| 
				36
			 | 
			
				36
			 | 
			
			
				
				 #include <gpxe/arp.h> 
			 | 
		
		
	
		
			
			| 
				37
			 | 
			
				37
			 | 
			
			
				
				 #include <gpxe/rarp.h> 
			 | 
		
		
	
		
			
			| 
				38
			 | 
			
				
			 | 
			
			
				
				-#include <gpxe/shutdown.h> 
			 | 
		
		
	
		
			
			| 
				39
			 | 
			
				38
			 | 
			
			
				
				 #include "pxe.h" 
			 | 
		
		
	
		
			
			| 
				40
			 | 
			
				39
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				41
			 | 
			
				40
			 | 
			
			
				
				 /** 
			 | 
		
		
	
	
		
			
			| 
				
			 | 
			
			
				
				@@ -284,7 +283,7 @@ pxenv_undi_set_station_address ( struct s_PXENV_UNDI_SET_STATION_ADDRESS 
			 | 
		
		
	
		
			
			| 
				284
			 | 
			
				283
			 | 
			
			
				
				 		 &undi_set_station_address->StationAddress, 
			 | 
		
		
	
		
			
			| 
				285
			 | 
			
				284
			 | 
			
			
				
				 		 pxe_netdev->ll_protocol->ll_addr_len ); 
			 | 
		
		
	
		
			
			| 
				286
			 | 
			
				285
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				287
			 | 
			
				
			 | 
			
			
				
				-	undi_set_station_address = PXENV_STATUS_SUCCESS; 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				286
			 | 
			
			
				
				+	undi_set_station_address->Status = PXENV_STATUS_SUCCESS; 
			 | 
		
		
	
		
			
			| 
				288
			 | 
			
				287
			 | 
			
			
				
				 	return PXENV_EXIT_SUCCESS; 
			 | 
		
		
	
		
			
			| 
				289
			 | 
			
				288
			 | 
			
			
				
				 } 
			 | 
		
		
	
		
			
			| 
				290
			 | 
			
				289
			 | 
			
			
				
				  
			 | 
		
		
	
	
		
			
			| 
				
			 | 
			
			
				
				@@ -559,12 +558,11 @@ PXENV_EXIT_t pxenv_undi_isr ( struct s_PXENV_UNDI_ISR *undi_isr ) { 
			 | 
		
		
	
		
			
			| 
				559
			 | 
			
				558
			 | 
			
			
				
				 		DBG ( " RECEIVE %zd", len ); 
			 | 
		
		
	
		
			
			| 
				560
			 | 
			
				559
			 | 
			
			
				
				 		if ( len > sizeof ( basemem_packet ) ) { 
			 | 
		
		
	
		
			
			| 
				561
			 | 
			
				560
			 | 
			
			
				
				 			/* Should never happen */ 
			 | 
		
		
	
		
			
			| 
				562
			 | 
			
				
			 | 
			
			
				
				-			undi_isr->FuncFlag = PXENV_UNDI_ISR_OUT_DONE; 
			 | 
		
		
	
		
			
			| 
				563
			 | 
			
				
			 | 
			
			
				
				-			undi_isr->Status = PXENV_STATUS_OUT_OF_RESOURCES; 
			 | 
		
		
	
		
			
			| 
				564
			 | 
			
				
			 | 
			
			
				
				-			return PXENV_EXIT_FAILURE; 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				561
			 | 
			
			
				
				+			len = sizeof ( basemem_packet ); 
			 | 
		
		
	
		
			
			| 
				565
			 | 
			
				562
			 | 
			
			
				
				 		} 
			 | 
		
		
	
		
			
			| 
				566
			 | 
			
				563
			 | 
			
			
				
				 		memcpy ( basemem_packet, iobuf->data, len ); 
			 | 
		
		
	
		
			
			| 
				567
			 | 
			
				564
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				565
			 | 
			
			
				
				+		/* Fill in UNDI_ISR structure */ 
			 | 
		
		
	
		
			
			| 
				568
			 | 
			
				566
			 | 
			
			
				
				 		undi_isr->FuncFlag = PXENV_UNDI_ISR_OUT_RECEIVE; 
			 | 
		
		
	
		
			
			| 
				569
			 | 
			
				567
			 | 
			
			
				
				 		undi_isr->BufferLength = len; 
			 | 
		
		
	
		
			
			| 
				570
			 | 
			
				568
			 | 
			
			
				
				 		undi_isr->FrameLength = len; 
			 | 
		
		
	
	
		
			
			| 
				
			 | 
			
			
				
				@@ -576,6 +574,9 @@ PXENV_EXIT_t pxenv_undi_isr ( struct s_PXENV_UNDI_ISR *undi_isr ) { 
			 | 
		
		
	
		
			
			| 
				576
			 | 
			
				574
			 | 
			
			
				
				 		/* Probably ought to fill in packet type */ 
			 | 
		
		
	
		
			
			| 
				577
			 | 
			
				575
			 | 
			
			
				
				 		undi_isr->ProtType = P_UNKNOWN; 
			 | 
		
		
	
		
			
			| 
				578
			 | 
			
				576
			 | 
			
			
				
				 		undi_isr->PktType = XMT_DESTADDR; 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				577
			 | 
			
			
				
				+ 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				578
			 | 
			
			
				
				+		/* Free packet */ 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				579
			 | 
			
			
				
				+		free_iob ( iobuf ); 
			 | 
		
		
	
		
			
			| 
				579
			 | 
			
				580
			 | 
			
			
				
				 		break; 
			 | 
		
		
	
		
			
			| 
				580
			 | 
			
				581
			 | 
			
			
				
				 	default : 
			 | 
		
		
	
		
			
			| 
				581
			 | 
			
				582
			 | 
			
			
				
				 		DBG ( " INVALID(%04x)", undi_isr->FuncFlag ); 
			 |