Re: [PATCH 3/3] PCI, acpiphp: Use res->flags to determine whether the resouce is valid

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

 



Hi Bjorn,
   Please ignore these three patches, I'm very sorry I still have some confusion about allocating resources
to pci devices.So this patch is not appropriate. I will provide new version patches when I find a better
solution for this problem.

> When we hot plug pci devices, system will allocate resources to these new add
> devices, pci_bus_assign_resources() will be called.If the pci devices was assigned
> resource fail, the resource struct will reset to zero.So I think use res->flags here
> to determine whether the resource is valid is reliable.
> 
> Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx>
> ---
>  drivers/pci/hotplug/acpiphp_glue.c |    4 +---
>  1 files changed, 1 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/pci/hotplug/acpiphp_glue.c b/drivers/pci/hotplug/acpiphp_glue.c
> index 7bbd6bf..2161902 100644
> --- a/drivers/pci/hotplug/acpiphp_glue.c
> +++ b/drivers/pci/hotplug/acpiphp_glue.c
> @@ -1084,13 +1084,11 @@ static void acpiphp_sanitize_bus(struct pci_bus *bus)
>  {
>  	struct pci_dev *dev, *tmp;
>  	int i;
> -	unsigned long type_mask = IORESOURCE_IO | IORESOURCE_MEM;
>  
>  	list_for_each_entry_safe(dev, tmp, &bus->devices, bus_list) {
>  		for (i=0; i<PCI_BRIDGE_RESOURCES; i++) {
>  			struct resource *res = &dev->resource[i];
> -			if ((res->flags & type_mask) && !res->start &&
> -					res->end) {
> +			if (!res->flags) {
>  				/* Could not assign a required resources
>  				 * for this device, remove it */
>  				pci_stop_and_remove_bus_device(dev);
> 


-- 
Thanks!
Yijing

--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux