Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 66455
b: refs/heads/master
c: ac558ca
h: refs/heads/master
i:
  66453: a73da91
  66451: c992c02
  66447: c0463d6
v: v3
  • Loading branch information
Holger Schurig authored and David S. Miller committed Oct 10, 2007
1 parent dc3bf26 commit 5d6ebcd
Show file tree
Hide file tree
Showing 14 changed files with 55 additions and 172 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c23a24f6ae083e058ed1e9472979df09915ffdf5
refs/heads/master: ac558ca2ae878bd7a77831cda684702a2fa23d95
44 changes: 0 additions & 44 deletions trunk/drivers/net/wireless/libertas/11d.c
Original file line number Diff line number Diff line change
Expand Up @@ -446,25 +446,6 @@ void libertas_init_11d(wlan_private * priv)
return;
}

static int wlan_enable_11d(wlan_private * priv, u8 flag)
{
int ret;

priv->adapter->enable11d = flag;

/* send cmd to FW to enable/disable 11D function in FW */
ret = libertas_prepare_and_send_command(priv,
CMD_802_11_SNMP_MIB,
CMD_ACT_SET,
CMD_OPTION_WAITFORRSP,
OID_802_11D_ENABLE,
&priv->adapter->enable11d);
if (ret)
lbs_deb_11d("11D: Fail to enable 11D \n");

return 0;
}

/**
* @brief This function sets DOMAIN INFO to FW
* @param priv pointer to wlan_private
Expand Down Expand Up @@ -577,31 +558,6 @@ int libertas_cmd_802_11d_domain_info(wlan_private * priv,
return 0;
}

/**
* @brief This function implements private cmd: enable/disable 11D
* @param priv pointer to wlan_private
* @param wrq pointer to user data
* @return 0 or -1
*/
int libertas_cmd_enable_11d(wlan_private * priv, struct iwreq *wrq)
{
int data = 0;
int *val;

lbs_deb_enter(LBS_DEB_11D);
data = SUBCMD_DATA(wrq);

lbs_deb_11d("enable 11D: %s\n",
(data == 1) ? "enable" : "Disable");

wlan_enable_11d(priv, data);
val = (int *)wrq->u.name;
*val = priv->adapter->enable11d;

lbs_deb_enter(LBS_DEB_11D);
return 0;
}

/**
* @brief This function parses countryinfo from AP and download country info to FW
* @param priv pointer to wlan_private
Expand Down
4 changes: 0 additions & 4 deletions trunk/drivers/net/wireless/libertas/11d.h
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,6 @@ u8 libertas_get_scan_type_11d(u8 chan,

u32 libertas_chan_2_freq(u8 chan, u8 band);

enum state_11d libertas_get_state_11d(wlan_private * priv);

void libertas_init_11d(wlan_private * priv);

int libertas_set_universaltable(wlan_private * priv, u8 band);
Expand All @@ -93,8 +91,6 @@ int libertas_cmd_802_11d_domain_info(wlan_private * priv,
struct cmd_ds_command *cmd, u16 cmdno,
u16 cmdOption);

int libertas_cmd_enable_11d(wlan_private * priv, struct iwreq *wrq);

int libertas_ret_802_11d_domain_info(wlan_private * priv,
struct cmd_ds_command *resp);

Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/net/wireless/libertas/cmd.c
Original file line number Diff line number Diff line change
Expand Up @@ -1045,7 +1045,7 @@ void __libertas_cleanup_and_insert_cmd(wlan_private * priv, struct cmd_ctrl_node
return;
}

void libertas_cleanup_and_insert_cmd(wlan_private * priv, struct cmd_ctrl_node *ptempcmd)
static void libertas_cleanup_and_insert_cmd(wlan_private * priv, struct cmd_ctrl_node *ptempcmd)
{
unsigned long flags;

Expand Down
7 changes: 0 additions & 7 deletions trunk/drivers/net/wireless/libertas/decl.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,9 @@ struct wlan_private;
struct sk_buff;
struct net_device;

extern char *libertas_fw_name;

void libertas_free_adapter(wlan_private * priv);
int libertas_set_mac_packet_filter(wlan_private * priv);

int libertas_send_null_packet(wlan_private * priv, u8 pwr_mgmt);
void libertas_send_tx_feedback(wlan_private * priv);
u8 libertas_check_last_packet_indication(wlan_private * priv);

int libertas_free_cmd_buffer(wlan_private * priv);
struct cmd_ctrl_node;
Expand Down Expand Up @@ -53,8 +48,6 @@ void libertas_upload_rx_packet(wlan_private * priv, struct sk_buff *skb);
/** The proc fs interface */
int libertas_process_rx_command(wlan_private * priv);
int libertas_process_tx(wlan_private * priv, struct sk_buff *skb);
void libertas_cleanup_and_insert_cmd(wlan_private * priv,
struct cmd_ctrl_node *ptempcmd);
void __libertas_cleanup_and_insert_cmd(wlan_private * priv,
struct cmd_ctrl_node *ptempcmd);

Expand Down
8 changes: 5 additions & 3 deletions trunk/drivers/net/wireless/libertas/if_usb.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
static const char usbdriver_name[] = "usb8xxx";
static u8 *default_fw_name = "usb8388.bin";

char *libertas_fw_name = NULL;
static char *libertas_fw_name = NULL;
module_param_named(fw_name, libertas_fw_name, charp, 0644);

/*
Expand Down Expand Up @@ -51,6 +51,8 @@ static int if_usb_prog_firmware(wlan_private *);
static int if_usb_host_to_card(wlan_private * priv, u8 type, u8 * payload, u16 nb);
static int if_usb_get_int_status(wlan_private * priv, u8 *);
static int if_usb_read_event_cause(wlan_private *);
static int usb_tx_block(wlan_private *priv, u8 *payload, u16 nb);
static void if_usb_free(struct usb_card_rec *cardp);

/**
* @brief call back function to handle the status of the URB
Expand Down Expand Up @@ -92,7 +94,7 @@ static void if_usb_write_bulk_callback(struct urb *urb)
* @param cardp pointer usb_card_rec
* @return N/A
*/
void if_usb_free(struct usb_card_rec *cardp)
static void if_usb_free(struct usb_card_rec *cardp)
{
lbs_deb_enter(LBS_DEB_USB);

Expand Down Expand Up @@ -384,7 +386,7 @@ static int if_usb_reset_device(wlan_private *priv)
* @param nb data length
* @return 0 or -1
*/
int usb_tx_block(wlan_private * priv, u8 * payload, u16 nb)
static int usb_tx_block(wlan_private * priv, u8 * payload, u16 nb)
{
/* pointer to card structure */
struct usb_card_rec *cardp = priv->card;
Expand Down
3 changes: 0 additions & 3 deletions trunk/drivers/net/wireless/libertas/if_usb.h
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,4 @@ struct fwsyncheader {
#define FW_DATA_XMIT_SIZE \
sizeof(struct fwheader) + le32_to_cpu(fwdata->fwheader.datalength) + sizeof(u32)

int usb_tx_block(wlan_private *priv, u8 *payload, u16 nb);
void if_usb_free(struct usb_card_rec *cardp);

#endif
14 changes: 0 additions & 14 deletions trunk/drivers/net/wireless/libertas/join.c
Original file line number Diff line number Diff line change
Expand Up @@ -112,20 +112,6 @@ void libertas_unset_basic_rate_flags(u8 * rates, size_t len)
}


int libertas_send_deauth(wlan_private * priv)
{
wlan_adapter *adapter = priv->adapter;
int ret = 0;

if (adapter->mode == IW_MODE_INFRA &&
adapter->connect_status == LIBERTAS_CONNECTED)
ret = libertas_send_deauthentication(priv);
else
ret = -ENOTSUPP;

return ret;
}

/**
* @brief Associate to a specific BSS discovered in a scan
*
Expand Down
33 changes: 14 additions & 19 deletions trunk/drivers/net/wireless/libertas/join.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,44 +12,39 @@
#include "dev.h"

struct cmd_ds_command;
extern int libertas_cmd_80211_authenticate(wlan_private * priv,
int libertas_cmd_80211_authenticate(wlan_private * priv,
struct cmd_ds_command *cmd,
void *pdata_buf);
extern int libertas_cmd_80211_ad_hoc_join(wlan_private * priv,
int libertas_cmd_80211_ad_hoc_join(wlan_private * priv,
struct cmd_ds_command *cmd,
void *pdata_buf);
extern int libertas_cmd_80211_ad_hoc_stop(wlan_private * priv,
int libertas_cmd_80211_ad_hoc_stop(wlan_private * priv,
struct cmd_ds_command *cmd);
extern int libertas_cmd_80211_ad_hoc_start(wlan_private * priv,
int libertas_cmd_80211_ad_hoc_start(wlan_private * priv,
struct cmd_ds_command *cmd,
void *pdata_buf);
extern int libertas_cmd_80211_deauthenticate(wlan_private * priv,
int libertas_cmd_80211_deauthenticate(wlan_private * priv,
struct cmd_ds_command *cmd);
extern int libertas_cmd_80211_associate(wlan_private * priv,
int libertas_cmd_80211_associate(wlan_private * priv,
struct cmd_ds_command *cmd,
void *pdata_buf);

extern int libertas_ret_80211_ad_hoc_start(wlan_private * priv,
int libertas_ret_80211_ad_hoc_start(wlan_private * priv,
struct cmd_ds_command *resp);
extern int libertas_ret_80211_ad_hoc_stop(wlan_private * priv,
int libertas_ret_80211_ad_hoc_stop(wlan_private * priv,
struct cmd_ds_command *resp);
extern int libertas_ret_80211_disassociate(wlan_private * priv,
int libertas_ret_80211_disassociate(wlan_private * priv,
struct cmd_ds_command *resp);
extern int libertas_ret_80211_associate(wlan_private * priv,
int libertas_ret_80211_associate(wlan_private * priv,
struct cmd_ds_command *resp);

extern int libertas_reassociation_thread(void *data);

extern int libertas_start_adhoc_network(wlan_private * priv,
int libertas_start_adhoc_network(wlan_private * priv,
struct assoc_request * assoc_req);
extern int libertas_join_adhoc_network(wlan_private * priv,
int libertas_join_adhoc_network(wlan_private * priv,
struct assoc_request * assoc_req);
extern int libertas_stop_adhoc_network(wlan_private * priv);

extern int libertas_send_deauthentication(wlan_private * priv);
extern int libertas_send_deauth(wlan_private * priv);
int libertas_stop_adhoc_network(wlan_private * priv);

extern int libertas_do_adhocstop_ioctl(wlan_private * priv);
int libertas_send_deauthentication(wlan_private * priv);

int wlan_associate(wlan_private * priv, struct assoc_request * assoc_req);

Expand Down
50 changes: 25 additions & 25 deletions trunk/drivers/net/wireless/libertas/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -890,6 +890,31 @@ static void command_timer_fn(unsigned long data)
return;
}

static void libertas_free_adapter(wlan_private * priv)
{
wlan_adapter *adapter = priv->adapter;

if (!adapter) {
lbs_deb_fw("why double free adapter?\n");
return;
}

lbs_deb_fw("free command buffer\n");
libertas_free_cmd_buffer(priv);

lbs_deb_fw("free command_timer\n");
del_timer(&adapter->command_timer);

lbs_deb_fw("free scan results table\n");
kfree(adapter->networks);
adapter->networks = NULL;

/* Free the adapter object itself */
lbs_deb_fw("free adapter\n");
kfree(adapter);
priv->adapter = NULL;
}

static int wlan_allocate_adapter(wlan_private * priv)
{
size_t bufsize;
Expand Down Expand Up @@ -1009,31 +1034,6 @@ static void wlan_init_adapter(wlan_private * priv)
return;
}

void libertas_free_adapter(wlan_private * priv)
{
wlan_adapter *adapter = priv->adapter;

if (!adapter) {
lbs_deb_fw("why double free adapter?\n");
return;
}

lbs_deb_fw("free command buffer\n");
libertas_free_cmd_buffer(priv);

lbs_deb_fw("free command_timer\n");
del_timer(&adapter->command_timer);

lbs_deb_fw("free scan results table\n");
kfree(adapter->networks);
adapter->networks = NULL;

/* Free the adapter object itself */
lbs_deb_fw("free adapter\n");
kfree(adapter);
priv->adapter = NULL;
}

static int libertas_init_fw(wlan_private * priv)
{
int ret = -1;
Expand Down
35 changes: 1 addition & 34 deletions trunk/drivers/net/wireless/libertas/scan.c
Original file line number Diff line number Diff line change
Expand Up @@ -1254,7 +1254,7 @@ struct bss_descriptor * libertas_find_ssid_in_list(wlan_adapter * adapter,
*
* @return index in BSSID list
*/
struct bss_descriptor * libertas_find_best_ssid_in_list(wlan_adapter * adapter,
static struct bss_descriptor * libertas_find_best_ssid_in_list(wlan_adapter * adapter,
u8 mode)
{
u8 bestrssi = 0;
Expand Down Expand Up @@ -1386,39 +1386,6 @@ int libertas_send_specific_ssid_scan(wlan_private * priv,
return ret;
}

/**
* @brief scan an AP with specific BSSID
*
* @param priv A pointer to wlan_private structure
* @param bssid A pointer to AP's bssid
* @param keeppreviousscan Flag used to save/clear scan table before scan
*
* @return 0-success, otherwise fail
*/
int libertas_send_specific_bssid_scan(wlan_private * priv, u8 * bssid, u8 clear_bssid)
{
struct wlan_ioctl_user_scan_cfg scancfg;

lbs_deb_enter(LBS_DEB_ASSOC);

if (bssid == NULL)
goto out;

memset(&scancfg, 0x00, sizeof(scancfg));
memcpy(scancfg.bssid, bssid, ETH_ALEN);
scancfg.clear_bssid = clear_bssid;

wlan_scan_networks(priv, &scancfg, 1);
if (priv->adapter->surpriseremoved)
return -1;
wait_event_interruptible(priv->adapter->cmd_pending,
!priv->adapter->nr_cmd_pending);

out:
lbs_deb_leave(LBS_DEB_ASSOC);
return 0;
}

static inline char *libertas_translate_scan(wlan_private *priv,
char *start, char *stop,
struct bss_descriptor *bss)
Expand Down
19 changes: 7 additions & 12 deletions trunk/drivers/net/wireless/libertas/scan.h
Original file line number Diff line number Diff line change
Expand Up @@ -175,31 +175,26 @@ struct bss_descriptor {
struct list_head list;
};

extern int libertas_ssid_cmp(u8 *ssid1, u8 ssid1_len, u8 *ssid2, u8 ssid2_len);
int libertas_ssid_cmp(u8 *ssid1, u8 ssid1_len, u8 *ssid2, u8 ssid2_len);

struct bss_descriptor * libertas_find_ssid_in_list(wlan_adapter * adapter,
u8 *ssid, u8 ssid_len, u8 * bssid, u8 mode,
int channel);

struct bss_descriptor * libertas_find_best_ssid_in_list(wlan_adapter * adapter,
u8 mode);

extern struct bss_descriptor * libertas_find_bssid_in_list(wlan_adapter * adapter,
struct bss_descriptor * libertas_find_bssid_in_list(wlan_adapter * adapter,
u8 * bssid, u8 mode);

int libertas_find_best_network_ssid(wlan_private * priv, u8 *out_ssid,
u8 *out_ssid_len, u8 preferred_mode, u8 *out_mode);

extern int libertas_send_specific_ssid_scan(wlan_private * priv, u8 *ssid,
int libertas_send_specific_ssid_scan(wlan_private * priv, u8 *ssid,
u8 ssid_len, u8 clear_ssid);
extern int libertas_send_specific_bssid_scan(wlan_private * priv,
u8 * bssid, u8 clear_bssid);

extern int libertas_cmd_80211_scan(wlan_private * priv,
int libertas_cmd_80211_scan(wlan_private * priv,
struct cmd_ds_command *cmd,
void *pdata_buf);

extern int libertas_ret_80211_scan(wlan_private * priv,
int libertas_ret_80211_scan(wlan_private * priv,
struct cmd_ds_command *resp);

int wlan_scan_networks(wlan_private * priv,
Expand All @@ -211,9 +206,9 @@ struct ifreq;
struct iw_point;
struct iw_param;
struct iw_request_info;
extern int libertas_get_scan(struct net_device *dev, struct iw_request_info *info,
int libertas_get_scan(struct net_device *dev, struct iw_request_info *info,
struct iw_point *dwrq, char *extra);
extern int libertas_set_scan(struct net_device *dev, struct iw_request_info *info,
int libertas_set_scan(struct net_device *dev, struct iw_request_info *info,
struct iw_param *vwrq, char *extra);

#endif /* _WLAN_SCAN_H */
Loading

0 comments on commit 5d6ebcd

Please sign in to comment.