On Tue, 2010-10-26 at 20:35 -0700, Nishanth Aravamudan wrote: No much comments... I'm amazed how complex he firmware folks managed to make this ...
> static int iommu_reconfig_notifier(struct notifier_block *nb, unsigned long > action, void *node) > { > int err = NOTIFY_OK; > struct device_node *np = node; > struct pci_dn *pci = PCI_DN(np); > + struct direct_window *window; > > switch (action) { > case PSERIES_RECONFIG_REMOVE: > if (pci && pci->iommu_table) > iommu_free_table(pci->iommu_table, np->full_name); > + > + spin_lock(&direct_window_list_lock); > + list_for_each_entry(window, &direct_window_list, list) { > + if (window->device == np) { > + list_del(&window->list); > + break; > + } > + } > + spin_unlock(&direct_window_list_lock); Should you also kfree the window ? Cheers, Ben. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev