mirror of
https://github.com/xcat2/xcat-dep.git
synced 2024-11-22 09:31:48 +00:00
37 lines
1.3 KiB
Diff
37 lines
1.3 KiB
Diff
|
diff -urN gpxe-0.9.7/src/arch/i386/interface/pxe/pxe_undi.c gpxe-0.9.7-noopenworkaround/src/arch/i386/interface/pxe/pxe_undi.c
|
||
|
--- gpxe-0.9.7/src/arch/i386/interface/pxe/pxe_undi.c 2009-08-21 21:05:12.000000000 -0400
|
||
|
+++ gpxe-0.9.7-noopenworkaround/src/arch/i386/interface/pxe/pxe_undi.c 2009-08-21 21:04:39.000000000 -0400
|
||
|
@@ -209,6 +209,12 @@
|
||
|
|
||
|
DBG ( "PXENV_UNDI_TRANSMIT" );
|
||
|
|
||
|
+ /* Forcibly enable interrupts at this point, to work around
|
||
|
+ * callers that never call PXENV_UNDI_OPEN before attempting
|
||
|
+ * to use the UNDI API.
|
||
|
+ */
|
||
|
+ netdev_irq ( pxe_netdev, 1 );
|
||
|
+
|
||
|
/* Identify network-layer protocol */
|
||
|
switch ( undi_transmit->Protocol ) {
|
||
|
case P_IP: net_protocol = &ipv4_protocol; break;
|
||
|
@@ -340,10 +346,17 @@
|
||
|
PXENV_EXIT_t
|
||
|
pxenv_undi_set_packet_filter ( struct s_PXENV_UNDI_SET_PACKET_FILTER
|
||
|
*undi_set_packet_filter ) {
|
||
|
+
|
||
|
DBG ( "PXENV_UNDI_SET_PACKET_FILTER" );
|
||
|
|
||
|
- undi_set_packet_filter->Status = PXENV_STATUS_UNSUPPORTED;
|
||
|
- return PXENV_EXIT_FAILURE;
|
||
|
+ /* Pretend that we succeeded, otherwise the 3Com DOS UNDI
|
||
|
+ * driver refuses to load. (We ignore the filter value in the
|
||
|
+ * PXENV_UNDI_OPEN call anyway.)
|
||
|
+ */
|
||
|
+ DBG ( " %02x", undi_set_packet_filter->filter );
|
||
|
+ undi_set_packet_filter->Status = PXENV_STATUS_SUCCESS;
|
||
|
+
|
||
|
+ return PXENV_EXIT_SUCCESS;
|
||
|
}
|
||
|
|
||
|
/* PXENV_UNDI_GET_INFORMATION
|