[e1000] Use PCI_BASE_ADDRESS_* symbols instead of integers
authorMarty Connor <mdc@etherboot.org>
Fri, 5 Dec 2008 14:42:46 +0000 (09:42 -0500)
committerMichael Brown <mcb30@etherboot.org>
Fri, 5 Dec 2008 16:35:33 +0000 (16:35 +0000)
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 <george.chou@advantech.com>

src/drivers/net/e1000/e1000.c

index c4f35c1..c1a4a52 100644 (file)
@@ -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;