if (str[0] && strcmp(str, "*"))
{
long int x = strtol(str, &e, 16);
- if ((e && *e) || (x < 0 || x > 0xffff))
+ if ((e && *e) || (x < 0 || x > 0x7fffffff))
return "Invalid domain number";
f->domain = x;
}
return 0;
if (f->device >= 0 || f->vendor >= 0)
{
- pci_fill_info_v33(d, PCI_FILL_IDENT);
+ pci_fill_info_v35(d, PCI_FILL_IDENT);
if ((f->device >= 0 && f->device != d->device_id) ||
(f->vendor >= 0 && f->vendor != d->vendor_id))
return 0;
{
new->domain = old->domain;
new->bus = old->bus;
- new->slot = old->bus;
+ new->slot = old->slot;
new->func = old->func;
new->vendor = old->vendor;
new->device = old->device;
{
old->domain = new->domain;
old->bus = new->bus;
- old->slot = new->bus;
+ old->slot = new->slot;
old->func = new->func;
old->vendor = new->vendor;
old->device = new->device;