]> mj.ucw.cz Git - pciutils.git/blobdiff - lib/generic.c
Clean up freeing of the ID tables.
[pciutils.git] / lib / generic.c
index 0402ad1efadb778390ad1fda98fa5b3359e05cb8..617c5fe838c4415c52a153cc8d3daf54e10192b0 100644 (file)
@@ -70,7 +70,7 @@ pci_generic_scan(struct pci_access *a)
 {
   byte busmap[256];
 
-  bzero(busmap, sizeof(busmap));
+  memset(busmap, 0, sizeof(busmap));
   pci_generic_scan_bus(a, busmap, 0);
 }
 
@@ -86,12 +86,14 @@ pci_generic_fill_info(struct pci_dev *d, int flags)
       d->vendor_id = pci_read_word(d, PCI_VENDOR_ID);
       d->device_id = pci_read_word(d, PCI_DEVICE_ID);
     }
+  if (flags & PCI_FILL_CLASS)
+      d->device_class = pci_read_word(d, PCI_CLASS_DEVICE);
   if (flags & PCI_FILL_IRQ)
     d->irq = pci_read_byte(d, PCI_INTERRUPT_LINE);
   if (flags & PCI_FILL_BASES)
     {
       int cnt = 0, i;
-      bzero(d->base_addr, sizeof(d->base_addr));
+      memset(d->base_addr, 0, sizeof(d->base_addr));
       switch (d->hdrtype)
        {
        case PCI_HEADER_TYPE_NORMAL:
@@ -122,7 +124,7 @@ pci_generic_fill_info(struct pci_dev *d, int flags)
                  else
                    {
                      u32 y = pci_read_long(d, PCI_BASE_ADDRESS_0 + (++i)*4);
-#ifdef HAVE_64BIT_ADDRESS
+#ifdef PCI_HAVE_64BIT_ADDRESS
                      d->base_addr[i-1] = x | (((pciaddr_t) y) << 32);
 #else
                      if (y)