From: Marty Connor Date: Fri, 5 Dec 2008 14:42:46 +0000 (-0500) Subject: [e1000] Use PCI_BASE_ADDRESS_* symbols instead of integers X-Git-Tag: v0.9.7~95 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1206999288fef8d3b9af7bf8010949a61a3613e5;p=thirdparty%2Fipxe.git [e1000] Use PCI_BASE_ADDRESS_* symbols instead of integers When compiling for the Linux kernel, PCI_BASE_ADDRESS_0 == 0, and PCI_BASE_ADDRESS_1 == 1. This is not so when compiling for gPXE. We must use the symbolic names rather than integers to get the correct values. Bug identified and patch supplied by: George Chou --- diff --git a/src/drivers/net/e1000/e1000.c b/src/drivers/net/e1000/e1000.c index c4f35c1a8..c1a4a52d8 100644 --- a/src/drivers/net/e1000/e1000.c +++ b/src/drivers/net/e1000/e1000.c @@ -818,8 +818,8 @@ e1000_probe ( struct pci_device *pdev, * because it depends on mac_type */ if ( ( adapter->hw.mac_type == e1000_ich8lan ) && ( pdev->ioaddr ) ) { - flash_start = pci_bar_start ( pdev, 1 ); - flash_len = pci_bar_size ( pdev, 1 ); + flash_start = pci_bar_start ( pdev, PCI_BASE_ADDRESS_1 ); + flash_len = pci_bar_size ( pdev, PCI_BASE_ADDRESS_1 ); adapter->hw.flash_address = ioremap ( flash_start, flash_len ); if ( ! adapter->hw.flash_address ) goto err_flashmap;