void wilc_mac_indicate(struct wilc *wilc)
{
- int status;
+ s8 status;
- wilc_wlan_cfg_get_val(WID_STATUS, (unsigned char *)&status, 4);
+ wilc_wlan_cfg_get_val(WID_STATUS, &status, 1);
if (wilc->mac_status == MAC_STATUS_INIT) {
wilc->mac_status = status;
complete(&wilc->sync_event);
};
struct wilc_mac_cfg {
- int mac_status;
u8 mac_address[7];
u8 firmware_version[129];
u8 assoc_rsp[256];
static void wilc_wlan_parse_info_frame(u8 *info)
{
- struct wilc_mac_cfg *pd = &g_mac;
u32 wid, len;
wid = info[0] | (info[1] << 8);
len = info[2];
- if (len == 1 && wid == WID_STATUS)
- pd->mac_status = info[3];
+ if (len == 1 && wid == WID_STATUS) {
+ int i = 0;
+
+ do {
+ if (g_cfg_byte[i].id == WID_NIL)
+ break;
+
+ if (g_cfg_byte[i].id == wid) {
+ g_cfg_byte[i].val = info[3];
+ break;
+ }
+ i++;
+ } while (1);
+ }
}
/********************************************
u32 type = (wid >> 12) & 0xf;
int i, ret = 0;
- if (wid == WID_STATUS) {
- *((u32 *)buffer) = g_mac.mac_status;
- return 4;
- }
-
i = 0;
if (type == CFG_BYTE_CMD) {
do {