Changeset 5245

Show
Ignore:
Timestamp:
08/09/09 03:45:05 (4 years ago)
Author:
jow
Message:

libs/iwinfo: fix broadcom signal calculation in master mode

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • luci/trunk/libs/iwinfo/src/iwinfo_wl.c

    r5244 r5245  
    153153    wl_ioctl(ifname, WLC_GET_BSS_INFO, tmp, WLC_IOCTL_MAXLEN); 
    154154 
    155     rssi = 0; 
    156     rssi_count = 0; 
    157  
    158155    if( !wl_ioctl(ifname, WLC_GET_AP, &ap, sizeof(ap)) && !ap ) 
    159156    { 
    160         rssi = tmp[WL_BSS_RSSI_OFFSET]; 
    161         rssi_count = 1; 
     157        *buf = tmp[WL_BSS_RSSI_OFFSET]; 
    162158    } 
    163159    else 
    164160    { 
     161        rssi = rssi_count = 0; 
     162 
    165163        /* Calculate average rssi from conntected stations */ 
    166164        if( (macs = wl_read_assoclist(ifname)) != NULL ) 
     
    172170                if( !wl_ioctl(ifname, WLC_GET_RSSI, &starssi, 12) ) 
    173171                { 
    174                     rssi += starssi.rssi; 
     172                    rssi -= starssi.rssi; 
    175173                    rssi_count++; 
    176174                } 
     
    179177            free(macs); 
    180178        } 
    181     } 
    182  
    183     *buf = (rssi == 0 || rssi_count == 0) ? 1 : (rssi / rssi_count); 
     179 
     180        *buf = (rssi == 0 || rssi_count == 0) ? 1 : -(rssi / rssi_count); 
     181    } 
    184182 
    185183    return 0;