summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown2020-11-16 00:33:52 +0100
committerMichael Brown2020-11-16 00:36:17 +0100
commitfc5cf18dab3ab88aff00e6ed2915a5e960eeb085 (patch)
tree5873f61f809211585dac742e3954d577ac504843
parent[efi] Do not populate media header length in PXE transmit CPB (diff)
downloadipxe-fc5cf18dab3ab88aff00e6ed2915a5e960eeb085.tar.gz
ipxe-fc5cf18dab3ab88aff00e6ed2915a5e960eeb085.tar.xz
ipxe-fc5cf18dab3ab88aff00e6ed2915a5e960eeb085.zip
[efi] Use casts rather than virt_to_bus() for UNDI buffer addresses
For a software UNDI, the addresses in PXE_CPB_TRANSMIT.FrameAddr and PXE_CPB_RECEIVE.BufferAddr are host addresses, not bus addresses. Remove the spurious (and no-op) use of virt_to_bus() and replace with a cast via intptr_t. Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r--src/drivers/net/efi/nii.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/drivers/net/efi/nii.c b/src/drivers/net/efi/nii.c
index 8f4fbee1..b9f34650 100644
--- a/src/drivers/net/efi/nii.c
+++ b/src/drivers/net/efi/nii.c
@@ -975,7 +975,7 @@ static int nii_transmit ( struct net_device *netdev,
/* Construct parameter block */
memset ( &cpb, 0, sizeof ( cpb ) );
- cpb.FrameAddr = virt_to_bus ( iobuf->data );
+ cpb.FrameAddr = ( ( intptr_t ) iobuf->data );
cpb.DataLen = iob_len ( iobuf );
/* Transmit packet */
@@ -1043,7 +1043,7 @@ static void nii_poll_rx ( struct net_device *netdev ) {
/* Construct parameter block */
memset ( &cpb, 0, sizeof ( cpb ) );
- cpb.BufferAddr = virt_to_bus ( nii->rxbuf->data );
+ cpb.BufferAddr = ( ( intptr_t ) nii->rxbuf->data );
cpb.BufferLen = iob_tailroom ( nii->rxbuf );
/* Issue command */