[etherfabric] Make use of pci_bar_start() 64-bit clean
authorMichael Brown <mcb30@etherboot.org>
Fri, 12 Dec 2008 19:18:04 +0000 (19:18 +0000)
committerMichael Brown <mcb30@etherboot.org>
Fri, 12 Dec 2008 19:18:04 +0000 (19:18 +0000)
Driver was storing the result of pci_bar_start() and pci_bar_size() in
an int, rather than an unsigned long.

(Bug was introduced in the vendor's tree in commit eac85cd "Port
etherfabric driver to net_device api".)

src/drivers/net/etherfabric.c

index 365a160..704ce98 100644 (file)
@@ -4151,7 +4151,8 @@ efab_probe ( struct pci_device *pci,
 {
        struct net_device *netdev;
        struct efab_nic *efab;
-       int rc, mmio_start, mmio_len;
+       unsigned long mmio_start, mmio_len;
+       int rc;
 
        /* Create the network adapter */
        netdev = alloc_etherdev ( sizeof ( struct efab_nic ) );
@@ -4173,7 +4174,7 @@ efab_probe ( struct pci_device *pci,
        mmio_start = pci_bar_start ( pci, PCI_BASE_ADDRESS_2 );
        mmio_len = pci_bar_size ( pci, PCI_BASE_ADDRESS_2 );
        efab->membase = ioremap ( mmio_start, mmio_len );
-       EFAB_TRACE ( "BAR of %x bytes at phys %x mapped at %p\n",
+       EFAB_TRACE ( "BAR of %lx bytes at phys %lx mapped at %p\n",
                     mmio_len, mmio_start, efab->membase );
 
        /* Enable the PCI device */