summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas/assoc.h
blob: e09b7490abbdf18710cb1b112dab29d912efe8b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/* Copyright (C) 2006, Red Hat, Inc. */

#ifndef _WLAN_ASSOC_H_
#define _WLAN_ASSOC_H_

#include "dev.h"

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)
{
	if (priv->adapter->surpriseremoved)
		return;
	cancel_delayed_work(&priv->assoc_work);
	queue_delayed_work(priv->work_thread, &priv->assoc_work, ASSOC_DELAY);
}

static inline void wlan_cancel_association_work(wlan_private *priv)
{
	cancel_delayed_work(&priv->assoc_work);
	if (priv->adapter->pending_assoc_req) {
		kfree(priv->adapter->pending_assoc_req);
		priv->adapter->pending_assoc_req = NULL;
	}
}

#endif /* _WLAN_ASSOC_H */