[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] pci_remove_device: fix linked list discipline



>>> On 18.05.11 at 10:53, Tim Deegan <Tim.Deegan@xxxxxxxxxx> wrote:
> # HG changeset patch
> # User Tim Deegan <Tim.Deegan@xxxxxxxxxx>
> # Date 1305708740 -3600
> # Node ID 7b12c46b18777655c8a5f8290286f5699c77c335
> # Parent  f531ed84b0661aa6863dc86d5e5638642bc47301
> pci_remove_device: fix linked list discipline
> 
> Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
> 
> diff -r f531ed84b066 -r 7b12c46b1877 xen/drivers/passthrough/pci.c
> --- a/xen/drivers/passthrough/pci.c   Tue May 17 17:32:19 2011 +0100
> +++ b/xen/drivers/passthrough/pci.c   Wed May 18 09:52:20 2011 +0100
> @@ -173,11 +173,11 @@ out:
>  
>  int pci_remove_device(u8 bus, u8 devfn)
>  {
> -    struct pci_dev *pdev;
> +    struct pci_dev *pdev, *tmp;
>      int ret = -ENODEV;
>  
>      spin_lock(&pcidevs_lock);
> -    list_for_each_entry ( pdev, &alldevs_list, alldevs_list )
> +    list_for_each_entry_safe ( pdev, tmp, &alldevs_list, alldevs_list )

Somehow I overlooked this patch when it was sent - looking at the
code it modifies I can't see why the ..._safe() variant is necessary
here, as there's a break statement following the list deletion.

Jan

>          if ( pdev->bus == bus && pdev->devfn == devfn )
>          {
>              ret = iommu_remove_device(pdev);
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx 
> http://lists.xensource.com/xen-devel 




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.