On Tue, Apr 22, 2014 at 06:25:09PM +1000, Benjamin Herrenschmidt wrote: >On Tue, 2014-04-22 at 15:44 +0800, Wei Yang wrote: >> So this patch(the 2nd one) doesn't contribute to clear the warning and >> error. >> Only the first patch did it. Please ignore this one. > >But is it correct ? It's not right to keep a refcount elevated if we >don't have to. > >Gavin, can you get to the bottom of that refcount business ? >
Ben, "struct pci_dn::pcidev" was used by EEH originally. We don't use it any more. So it can be removed. Currently, EEH has following 4 functions to do conversion from one to another. None of them relies on "struct pci_dn::pcidev". of_node_to_eeh_dev() device_node -> pci_dn -> eeh_dev pci_dev_to_eeh_dev() pci_dev -> device -> archdata -> eeh_dev eeh_dev_to_of_node() eeh_dev -> device_node eeh_dev_to_pci_dev() eeh_dev -> pci_dev The side effect of holding pci_dev refcount is the pci_dev, eeh_dev, eeh_pe instance can't be free'ed during fully hotplug though EEH can survive. It's reasonable to remove it. Thanks, Gavin _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev