Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bca1a551 authored by Jeff Garzik's avatar Jeff Garzik
Browse files

Merge branch 'libertas-fixes' of...

Merge branch 'libertas-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream-fixes
parents 12b90de6 82fde74b
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -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)
{
@@ -403,6 +411,11 @@ static int should_deauth_infrastructure(wlan_adapter *adapter,
		return 1;
	}

	if (test_bit(ASSOC_FLAG_CHANNEL, &assoc_req->flags)) {
		lbs_deb_assoc("Deauthenticating due to channel switch.\n");
		return 1;
	}

	/* FIXME: deal with 'auto' mode somehow */
	if (test_bit(ASSOC_FLAG_MODE, &assoc_req->flags)) {
		if (assoc_req->mode != IW_MODE_INFRA)
+2 −0
Original line number Diff line number Diff line
@@ -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)
{
+1 −0
Original line number Diff line number Diff line
@@ -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:
+1 −0
Original line number Diff line number Diff line
@@ -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);
+2 −2
Original line number Diff line number Diff line
@@ -310,8 +310,8 @@ enum cmd_mesh_access_opts {
	cmd_act_mesh_get_ttl = 1,
	cmd_act_mesh_set_ttl,
	cmd_act_mesh_get_stats,
	cmd_act_mesh_get_mpp,
	cmd_act_mesh_set_mpp,
	cmd_act_mesh_get_anycast,
	cmd_act_mesh_set_anycast,
};

/** Card Event definition */
Loading