Handle special case when driver reports channel instead of frequency
authorMarcel Holtmann <marcel@holtmann.org>
Tue, 19 May 2009 06:11:59 +0000 (23:11 -0700)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 19 May 2009 06:11:59 +0000 (23:11 -0700)
plugins/supplicant.c

index 3acb99e..1eb6b87 100644 (file)
@@ -1097,6 +1097,11 @@ static void properties_reply(DBusPendingCall *call, void *user_data)
        if (result.path[0] == '\0')
                goto done;
 
+       if (result.frequency > 0 && result.frequency < 14)
+               result.frequency = 2407 + (5 * result.frequency);
+       else if (result.frequency == 14)
+               result.frequency = 2484;
+
        strength = calculate_strength(&result);
        channel  = calculate_channel(&result);