[PATCH v7 2/6] pci: OF: Fix the conversion of IO ranges into IO resources.

Arnd Bergmann
2014-03-14T17:05:28Z

On Friday 14 March 2014, Liviu Dudau wrote:
> +int of_pci_range_to_resource(struct of_pci_range *range,
> + struct device_node *np, struct resource *res)
> +{
> + res->flags = range->flags;
> + if (res->flags & IORESOURCE_IO) {
> + unsigned long port = -1;
> + int err = pci_register_io_range(range->cpu_addr, range->size);
> + if (err)
> + return err;
> + port = pci_address_to_pio(range->cpu_addr);
> + if (port == (unsigned long)-1) {
> + res->start = (resource_size_t)OF_BAD_ADDR;
> + res->end = (resource_size_t)OF_BAD_ADDR;
> + return -EINVAL;
> + }

The error handling is inconsistent here: in one case you set the resource
to OF_BAD_ADDR, in the other one you don't.

Arnd