From fc5cf18dab3ab88aff00e6ed2915a5e960eeb085 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Sun, 15 Nov 2020 23:33:52 +0000 Subject: [PATCH] [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 --- src/drivers/net/efi/nii.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/drivers/net/efi/nii.c b/src/drivers/net/efi/nii.c index 8f4fbee18..b9f34650e 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 */