blob: 5e9c31f0932b1d64377184c5fa038c16dbbdd19f [file] [log] [blame]
Marcelo Tosatti876c9d32007-02-10 12:25:27 -02001/* Copyright (C) 2006, Red Hat, Inc. */
2
3#ifndef _WLAN_ASSOC_H_
4#define _WLAN_ASSOC_H_
5
6#include "dev.h"
7
Holger Schurigeb3ce632007-05-24 23:41:15 -04008void libertas_association_worker(struct work_struct *work);
Marcelo Tosatti876c9d32007-02-10 12:25:27 -02009
10struct assoc_request * wlan_get_association_request(wlan_adapter *adapter);
11
Luis Carlos Cobo Rusb8bedef2007-05-30 12:14:34 -040012void libertas_sync_channel(struct work_struct *work);
13
Marcelo Tosatti876c9d32007-02-10 12:25:27 -020014#define ASSOC_DELAY (HZ / 2)
15static inline void wlan_postpone_association_work(wlan_private *priv)
16{
17 if (priv->adapter->surpriseremoved)
18 return;
19 cancel_delayed_work(&priv->assoc_work);
20 queue_delayed_work(priv->assoc_thread, &priv->assoc_work, ASSOC_DELAY);
21}
22
23static inline void wlan_cancel_association_work(wlan_private *priv)
24{
25 cancel_delayed_work(&priv->assoc_work);
Dan Williamse76850d2007-05-25 17:09:41 -040026 if (priv->adapter->pending_assoc_req) {
27 kfree(priv->adapter->pending_assoc_req);
28 priv->adapter->pending_assoc_req = NULL;
Marcelo Tosatti876c9d32007-02-10 12:25:27 -020029 }
30}
31
32#endif /* _WLAN_ASSOC_H */