mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-10 15:10:38 +00:00
[PATCH] libertas: pull current channel from firmware on mesh autostart
Signed-off-by: Luis Carlos Cobo Rus <luisca@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
717c933920
commit
b8bedefd8f
@ -200,6 +200,14 @@ static int update_channel(wlan_private * priv)
|
||||
cmd_option_waitforrsp, 0, NULL);
|
||||
}
|
||||
|
||||
void libertas_sync_channel(struct work_struct *work)
|
||||
{
|
||||
wlan_private *priv = container_of(work, wlan_private, sync_channel);
|
||||
|
||||
if (update_channel(priv) != 0)
|
||||
lbs_pr_info("Channel synchronization failed.");
|
||||
}
|
||||
|
||||
static int assoc_helper_channel(wlan_private *priv,
|
||||
struct assoc_request * assoc_req)
|
||||
{
|
||||
|
@ -9,6 +9,8 @@ void libertas_association_worker(struct work_struct *work);
|
||||
|
||||
struct assoc_request * wlan_get_association_request(wlan_adapter *adapter);
|
||||
|
||||
void libertas_sync_channel(struct work_struct *work);
|
||||
|
||||
#define ASSOC_DELAY (HZ / 2)
|
||||
static inline void wlan_postpone_association_work(wlan_private *priv)
|
||||
{
|
||||
|
@ -987,6 +987,7 @@ int libertas_process_event(wlan_private * priv)
|
||||
netif_carrier_on(priv->mesh_dev) ;
|
||||
}
|
||||
adapter->mode = IW_MODE_ADHOC ;
|
||||
schedule_work(&priv->sync_channel);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -150,6 +150,7 @@ struct _wlan_private {
|
||||
|
||||
struct delayed_work assoc_work;
|
||||
struct workqueue_struct *assoc_thread;
|
||||
struct work_struct sync_channel;
|
||||
|
||||
/** Hardware access */
|
||||
int (*hw_register_dev) (wlan_private * priv);
|
||||
|
@ -847,6 +847,7 @@ int libertas_activate_card(wlan_private *priv, char *fw_name)
|
||||
priv->assoc_thread =
|
||||
create_singlethread_workqueue("libertas_assoc");
|
||||
INIT_DELAYED_WORK(&priv->assoc_work, libertas_association_worker);
|
||||
INIT_WORK(&priv->sync_channel, libertas_sync_channel);
|
||||
|
||||
/*
|
||||
* Register the device. Fillup the private data structure with
|
||||
|
Loading…
x
Reference in New Issue
Block a user