When building with EXTRA_CFLAGS_XEN_CORE="-Wtype-limits", we observe the
following warning:
arch/arm/pci/pci-host-common.c: In function ‘pci_host_common_probe’:
arch/arm/pci/pci-host-common.c:238:26: warning: comparison is always false due to limited range of data type [-Wtype-limits]
238 | if ( bridge->segment < 0 )
| ^
This is due to bridge->segment being an unsigned type. Fix it by introducing a
new variable of signed type to use in the condition.
Fixes: 6ec9176d94ae ("xen/arm: PCI host bridge discovery within XEN on ARM")
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Rahul Singh <rahul.singh@arm.com<mailto:rahul.singh@arm.com>>
struct pci_host_bridge *bridge;
struct pci_config_window *cfg;
int err;
+ int domain;
if ( dt_device_for_passthrough(dev) )
return 0;
bridge->cfg = cfg;
bridge->ops = &ops->pci_ops;
- bridge->segment = pci_bus_find_domain_nr(dev);
- if ( bridge->segment < 0 )
+ domain = pci_bus_find_domain_nr(dev);
+ if ( domain < 0 )
{
printk(XENLOG_ERR "Inconsistent \"linux,pci-domain\" property in DT\n");
BUG();
}
+ bridge->segment = domain;
pci_add_host_bridge(bridge);
return 0;