Start looking for the second '+' after the first one (rather than at
the beginning again). Also fail if second string cannot be parsed.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
p = strchr(str, '+');
if (p == NULL)
return -EINVAL;
- p++;
- if (pci_reserve_parse_size(p, io_size, mem_size))
+ if (pci_reserve_parse_size(++p, io_size, mem_size))
return -EINVAL;
- p = strchr(str, '+');
- if (p != NULL) {
- p++;
- pci_reserve_parse_size(p, io_size, mem_size);
- }
- return 0;
+ p = strchr(p, '+');
+ return p ? pci_reserve_parse_size(p + 1, io_size, mem_size) : 0;
}
static unsigned long pci_reserve_size(struct pci_bus *pbus, int flags)