udev/net_id: parse _SUN ACPI index as a signed integer
Negative value means there is no match between a PCI device and any of the slots. In the following commit we will extend this and value of 0 will indicate that there is a match between some slot and PCI device, but that device is a PCI bridge.
This commit is contained in:
parent
e9f4a596a2
commit
3e545ae5ab
|
@ -245,7 +245,8 @@ static bool is_pci_ari_enabled(sd_device *dev) {
|
|||
|
||||
static int dev_pci_slot(sd_device *dev, struct netnames *names) {
|
||||
unsigned long dev_port = 0;
|
||||
unsigned domain, bus, slot, func, hotplug_slot = 0;
|
||||
unsigned domain, bus, slot, func;
|
||||
int hotplug_slot = -1;
|
||||
size_t l;
|
||||
char *s;
|
||||
const char *sysname, *attr, *port_name = NULL, *syspath;
|
||||
|
@ -326,14 +327,14 @@ static int dev_pci_slot(sd_device *dev, struct netnames *names) {
|
|||
continue;
|
||||
|
||||
FOREACH_DIRENT_ALL(dent, dir, break) {
|
||||
unsigned i;
|
||||
int i;
|
||||
char str[PATH_MAX];
|
||||
_cleanup_free_ char *address = NULL;
|
||||
|
||||
if (dot_or_dot_dot(dent->d_name))
|
||||
continue;
|
||||
|
||||
r = safe_atou_full(dent->d_name, 10, &i);
|
||||
r = safe_atoi(dent->d_name, &i);
|
||||
if (r < 0 || i <= 0)
|
||||
continue;
|
||||
|
||||
|
|
Loading…
Reference in New Issue