On 10/8/2018 7:50 PM, Johannes Berg wrote: > On Wed, 2018-09-26 at 15:55 +0530, Ajay Singh wrote: > >> +#include <linux/ieee80211.h> > you include it > >> +#include "coreconfigurator.h" >> + >> +#define IDLE_MODE 0x00 >> +#define AP_MODE 0x01 >> +#define STATION_MODE 0x02 >> +#define GO_MODE 0x03 >> +#define CLIENT_MODE 0x04 >> +#define ACTION 0xD0 >> +#define PROBE_REQ 0x40 >> +#define PROBE_RESP 0x50 > please use it too. > Ack. >> +#define ACTION_FRM_IDX 0 >> +#define PROBE_REQ_IDX 1 >> +#define MAX_NUM_STA 9 >> +#define ACTIVE_SCAN_TIME 10 >> +#define PASSIVE_SCAN_TIME 1200 >> +#define MIN_SCAN_TIME 10 >> +#define MAX_SCAN_TIME 1200 >> +#define DEFAULT_SCAN 0 >> +#define USER_SCAN BIT(0) >> +#define OBSS_PERIODIC_SCAN BIT(1) >> +#define OBSS_ONETIME_SCAN BIT(2) >> +#define GTK_RX_KEY_BUFF_LEN 24 >> +#define ADDKEY 0x1 >> +#define REMOVEKEY 0x2 >> +#define DEFAULTKEY 0x4 >> +#define ADDKEY_AP 0x8 >> +#define MAX_NUM_SCANNED_NETWORKS 100 >> +#define MAX_NUM_SCANNED_NETWORKS_SHADOW 130 >> +#define MAX_NUM_PROBED_SSID 10 >> +#define CHANNEL_SCAN_TIME 250 >> + >> +#define TX_MIC_KEY_LEN 8 >> +#define RX_MIC_KEY_LEN 8 >> +#define PTK_KEY_LEN 16 >> + >> +#define TX_MIC_KEY_MSG_LEN 26 >> +#define RX_MIC_KEY_MSG_LEN 48 >> +#define PTK_KEY_MSG_LEN 39 >> + >> +#define PMKSA_KEY_LEN 22 >> +#define ETH_ALEN 6 > umm? > >> +#define PMKID_LEN 16 > ?? > >> +#define WILC_MAX_NUM_PMKIDS 16 >> +#define WILC_ADD_STA_LENGTH 40 >> +#define NUM_CONCURRENT_IFC 2 >> +#define DRV_HANDLER_SIZE 5 >> +#define DRV_HANDLER_MASK 0x000000FF > Also this file is strangely mixing > * 802.11 constants (that you shouldn't have anyway) > * driver constants/structs > * hardware/firmware-related things (at least it seems like - e.g. the > "REMOVEKEY" constant) > > Please clean that up, separate the things, and pick a better > namespace... just having "REMOVEKEY" is probably not a good idea. > Will work on this to clean it up. >> +typedef void (*wilc_remain_on_chan_expired)(void *, u32); >> +typedef void (*wilc_remain_on_chan_ready)(void *); > Please no typedefs. > I think as per coding style the typedef for function pointer are allowed. >> +struct rcvd_net_info { >> + u8 *buffer; >> + u32 len; >> +}; >> + >> +struct hidden_net_info { >> + u8 *ssid; >> + u8 ssid_len; >> +}; >> + >> +struct hidden_network { >> + struct hidden_net_info *net_info; >> + u8 n_ssids; >> +}; > This seems really odd - what part doesn't cfg80211 already handle? If I understood your question correctly, you meant what extra functionality 'hidden_network' struct is providing. Actually this structure is just used to keeps list of SSID's requested in cfg80211 'scan' callback which is passed to firmware. The values are extracted from 'cfg80211_scan_request[struct cfg80211_ssid *ssids ----- int n_ssids] received during scan. Regards, Ajay