|
|
|
|
|
|
|
|
|
|
xen-devel
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
|
|
|
|
|