diff -ur BUILD/wpa_supplicant-0.6.3/src/drivers/driver_wext.c BUILD2/wpa_supplicant-0.6.3/src/drivers/driver_wext.c --- BUILD/wpa_supplicant-0.6.3/src/drivers/driver_wext.c 2008-08-04 11:49:26.000000000 +0200 +++ BUILD2/wpa_supplicant-0.6.3/src/drivers/driver_wext.c 2008-08-04 11:49:11.000000000 +0200 @@ -251,10 +251,12 @@ iwr.u.param.value = value; if (ioctl(drv->ioctl_sock, SIOCSIWAUTH, &iwr) < 0) { - perror("ioctl[SIOCSIWAUTH]"); + int saved_errno = errno; fprintf(stderr, "WEXT auth param %d value 0x%x - ", idx, value); - ret = errno == EOPNOTSUPP ? -2 : -1; + errno = saved_errno; + perror("ioctl[SIOCSIWAUTH]"); + ret = saved_errno == EOPNOTSUPP ? -2 : -1; } return ret;