{
        pci_seg->rlookup_table = (void *)__get_free_pages(
                                                GFP_KERNEL | __GFP_ZERO,
-                                               get_order(rlookup_table_size));
+                                               get_order(pci_seg->rlookup_table_size));
        if (pci_seg->rlookup_table == NULL)
                return -ENOMEM;
 
 static inline void free_rlookup_table(struct amd_iommu_pci_seg *pci_seg)
 {
        free_pages((unsigned long)pci_seg->rlookup_table,
-                  get_order(rlookup_table_size));
+                  get_order(pci_seg->rlookup_table_size));
        pci_seg->rlookup_table = NULL;
 }
 
 {
        pci_seg->irq_lookup_table = (void *)__get_free_pages(
                                             GFP_KERNEL | __GFP_ZERO,
-                                            get_order(rlookup_table_size));
+                                            get_order(pci_seg->rlookup_table_size));
        kmemleak_alloc(pci_seg->irq_lookup_table,
-                      rlookup_table_size, 1, GFP_KERNEL);
+                      pci_seg->rlookup_table_size, 1, GFP_KERNEL);
        if (pci_seg->irq_lookup_table == NULL)
                return -ENOMEM;
 
 {
        kmemleak_free(pci_seg->irq_lookup_table);
        free_pages((unsigned long)pci_seg->irq_lookup_table,
-                  get_order(rlookup_table_size));
+                  get_order(pci_seg->rlookup_table_size));
        pci_seg->irq_lookup_table = NULL;
 }
 
        DUMP_printk("PCI segment : 0x%0x, last bdf : 0x%04x\n", id, last_bdf);
        pci_seg->dev_table_size     = tbl_size(DEV_TABLE_ENTRY_SIZE);
        pci_seg->alias_table_size   = tbl_size(ALIAS_TABLE_ENTRY_SIZE);
+       pci_seg->rlookup_table_size = tbl_size(RLOOKUP_TABLE_ENTRY_SIZE);
 
        pci_seg->id = id;
        init_llist_head(&pci_seg->dev_data_list);