remote.sun_family = AF_UNIX;
remote_length = sizeof(remote.sun_family) +
- sprintf(remote.sun_path, "/var/run/wpa_supplicant-%s/%s",
- ifname, ifname);
+ sprintf(remote.sun_path, "/var/run/wpa_supplicant/%s", ifname);
/* Set client socket file permissions so that bind() creates the client
* socket with these permissions and there is no need to try to change
if (connect(sock, (struct sockaddr *)&remote, remote_length))
{
- remote_length = sizeof(remote.sun_family) +
- sprintf(remote.sun_path, "/var/run/wpa_supplicant/%s", ifname);
-
- if (connect(sock, (struct sockaddr *)&remote, remote_length))
- {
- close(sock);
- return -1;
- }
+ close(sock);
+ return -1;
}
local->sun_family = AF_UNIX;
{ "vendor", &id->vendor_id },
{ "device", &id->device_id },
{ "subsystem_vendor", &id->subsystem_vendor_id },
- { "subsystem_device", &id->subsystem_device_id }
+ { "subsystem_device", &id->subsystem_device_id },
+ { "../idVendor", &id->subsystem_vendor_id },
+ { "../idProduct", &id->subsystem_device_id }
};
memset(id, 0, sizeof(*id));
}
/* Failed to obtain hardware IDs, try FDT */
- if (id->vendor_id == 0 || id->device_id == 0)
+ if (id->vendor_id == 0 && id->device_id == 0 &&
+ id->subsystem_vendor_id == 0 && id->subsystem_device_id == 0)
if (!nl80211_hardware_id_from_fdt(id, ifname))
return 0;
/* Failed to obtain hardware IDs, search board config */
- if (id->vendor_id == 0 || id->device_id == 0)
+ if (id->vendor_id == 0 && id->device_id == 0 &&
+ id->subsystem_vendor_id == 0 && id->subsystem_device_id == 0)
return iwinfo_hardware_id_from_mtd(id);
return 0;