summaryrefslogtreecommitdiffstats
path: root/wifi
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2013-06-06 10:45:48 -0700
committerDmitry Shmidt <dimitrysh@google.com>2013-06-06 10:45:48 -0700
commitc15ccf4d05f2196215c9a49fd8dd5a2660dddd2c (patch)
tree30d956a2b46330dfe605a8df13eb96e079f2c77b /wifi
parentec0576034bb5c1b0aed1b23120b71f9599d2bb73 (diff)
downloadhardware_libhardware_legacy-c15ccf4d05f2196215c9a49fd8dd5a2660dddd2c.zip
hardware_libhardware_legacy-c15ccf4d05f2196215c9a49fd8dd5a2660dddd2c.tar.gz
hardware_libhardware_legacy-c15ccf4d05f2196215c9a49fd8dd5a2660dddd2c.tar.bz2
wifi: Skip adding interface prefix if exists
Bug: 9313188 Change-Id: I63784493c84ac4ffcc9810a7798b1c0de1b0f68b Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'wifi')
-rw-r--r--wifi/wifi.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/wifi/wifi.c b/wifi/wifi.c
index fca36f8..cbf8303 100644
--- a/wifi/wifi.c
+++ b/wifi/wifi.c
@@ -860,12 +860,14 @@ int wifi_command(const char *ifname, char *command, size_t commandlen,
size_t cmdlen = strlen(command) + 1;
size_t iflen = strlen(ifname) + IFNAMELEN + 1;
- if (commandlen >= cmdlen + iflen) {
- memmove((&command[iflen]), command, cmdlen);
- snprintf(command, iflen, "%s%s", IFNAME, ifname);
- command[iflen - 1] = ' ';
- } else {
- ALOGE("CmdBuf is too small (%d) for %s", commandlen, command);
+ if (strncmp(command, IFNAME, IFNAMELEN) != 0) {
+ if (commandlen >= cmdlen + iflen) {
+ memmove((&command[iflen]), command, cmdlen);
+ snprintf(command, iflen, "%s%s", IFNAME, ifname);
+ command[iflen - 1] = ' ';
+ } else {
+ ALOGE("CmdBuf is too small (%d) for %s", commandlen, command);
+ }
}
if (is_primary_interface(ifname)) {
return wifi_send_command(PRIMARY, command, reply, reply_len);