On Mon, 2007-09-17 at 16:03 +1000, Michael Ellerman wrote:
> pci_device_to_OF_node() returns the device node attached to a PCI device,
> but doesn't actually grab a reference - we need to do it ourselves.

Hi Paul,

Can you stick this in your 24 tree for the moment, the warnings it fixes
are giving people the willys. I'll look at the proper fix of having
pci_device_to_OF_node() take the reference and fixing all the callers.

cheers


> diff --git a/arch/powerpc/platforms/cell/axon_msi.c 
> b/arch/powerpc/platforms/cell/axon_msi.c
> index 57a6149..2b2dfcc 100644
> --- a/arch/powerpc/platforms/cell/axon_msi.c
> +++ b/arch/powerpc/platforms/cell/axon_msi.c
> @@ -119,7 +119,7 @@ static struct axon_msic *find_msi_translator(struct 
> pci_dev *dev)
>       const phandle *ph;
>       struct axon_msic *msic = NULL;
>  
> -     dn = pci_device_to_OF_node(dev);
> +     dn = of_node_get(pci_device_to_OF_node(dev));
>       if (!dn) {
>               dev_dbg(&dev->dev, "axon_msi: no pci_dn found\n");
>               return NULL;
> @@ -176,7 +176,7 @@ static int setup_msi_msg_address(struct pci_dev *dev, 
> struct msi_msg *msg)
>       int len;
>       const u32 *prop;
>  
> -     dn = pci_device_to_OF_node(dev);
> +     dn = of_node_get(pci_device_to_OF_node(dev));
>       if (!dn) {
>               dev_dbg(&dev->dev, "axon_msi: no pci_dn found\n");
>               return -ENODEV;
-- 
Michael Ellerman
OzLabs, IBM Australia Development Lab

wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)

We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to