summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown2008-11-08 06:10:23 +0100
committerMichael Brown2008-11-08 06:10:23 +0100
commit46f43d8ea763ca2a9d4d1b87db589bb7dcc978bf (patch)
treee228ed915e0e297875f66c6e630f78fdee7f764a
parent[aoe] Start retry timer before potential temporary transmission failure (diff)
downloadipxe-46f43d8ea763ca2a9d4d1b87db589bb7dcc978bf.tar.gz
ipxe-46f43d8ea763ca2a9d4d1b87db589bb7dcc978bf.tar.xz
ipxe-46f43d8ea763ca2a9d4d1b87db589bb7dcc978bf.zip
[phantom] Do not halt PEGs on driver shutdown
Halting the PEGs breaks platforms where there is sideband access to the NIC (e.g. HP machines using iLO). (We have to retain the unhalting code because on some other platforms (e.g. IBM blades with BOFM) the pre-PXE firmware must halt the PEGs to avoid issues with the BIOS rereading via the expansion ROM BAR.)
-rw-r--r--src/drivers/net/phantom/phantom.c15
1 files changed, 0 insertions, 15 deletions
diff --git a/src/drivers/net/phantom/phantom.c b/src/drivers/net/phantom/phantom.c
index 40fc9536..33c76f62 100644
--- a/src/drivers/net/phantom/phantom.c
+++ b/src/drivers/net/phantom/phantom.c
@@ -1785,19 +1785,6 @@ static int phantom_map_crb ( struct phantom_nic *phantom,
}
/**
- * Halt all PEGs
- *
- * @v phantom Phantom NIC
- */
-static void phantom_halt_pegs ( struct phantom_nic *phantom ) {
- phantom_writel ( phantom, 1, UNM_PEG_0_HALT );
- phantom_writel ( phantom, 1, UNM_PEG_1_HALT );
- phantom_writel ( phantom, 1, UNM_PEG_2_HALT );
- phantom_writel ( phantom, 1, UNM_PEG_3_HALT );
- phantom_writel ( phantom, 1, UNM_PEG_4_HALT );
-}
-
-/**
* Unhalt all PEGs
*
* @v phantom Phantom NIC
@@ -2089,7 +2076,6 @@ static int phantom_probe ( struct pci_device *pci,
err_check_boot_enable:
err_init_rcvpeg:
err_init_cmdpeg:
- phantom_halt_pegs ( phantom );
err_map_crb:
netdev_nullify ( netdev );
netdev_put ( netdev );
@@ -2108,7 +2094,6 @@ static void phantom_remove ( struct pci_device *pci ) {
unregister_settings ( &phantom->settings );
unregister_netdev ( netdev );
- phantom_halt_pegs ( phantom );
netdev_nullify ( netdev );
netdev_put ( netdev );
}