Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 89836
b: refs/heads/master
c: 8816edc
h: refs/heads/master
v: v3
  • Loading branch information
Holger Schurig authored and John W. Linville committed Feb 29, 2008
1 parent 04c5e5a commit 4abe892
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 14 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: 23ff50361f23355334bffe33de84f0b52aa34b9d
refs/heads/master: 8816edcea9009b66570bef10acde5a552a9b3b3c
2 changes: 1 addition & 1 deletion trunk/drivers/net/wireless/libertas/debugfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -315,7 +315,7 @@ static ssize_t lbs_setuserscan(struct file *file,

lbs_scan_networks(priv, scan_cfg, 1);
wait_event_interruptible(priv->cmd_pending,
priv->surpriseremoved || !priv->last_scanned_channel);
priv->surpriseremoved || !priv->scan_channel);

if (priv->surpriseremoved)
goto out_scan_cfg;
Expand Down
4 changes: 3 additions & 1 deletion trunk/drivers/net/wireless/libertas/dev.h
Original file line number Diff line number Diff line change
Expand Up @@ -143,9 +143,12 @@ struct lbs_private {
wait_queue_head_t waitq;
struct workqueue_struct *work_thread;

/** Scanning */
struct delayed_work scan_work;
struct delayed_work assoc_work;
struct work_struct sync_channel;
/* remember which channel was scanned last, != 0 if currently scanning */
int scan_channel;

/** Hardware access */
int (*hw_host_to_card) (struct lbs_private *priv, u8 type, u8 *payload, u16 nb);
Expand Down Expand Up @@ -321,7 +324,6 @@ struct lbs_private {
struct cmd_ds_802_11_get_log logmsg;

u32 monitormode;
int last_scanned_channel;
u8 fw_ready;
};

Expand Down
22 changes: 11 additions & 11 deletions trunk/drivers/net/wireless/libertas/scan.c
Original file line number Diff line number Diff line change
Expand Up @@ -612,13 +612,13 @@ int lbs_scan_networks(struct lbs_private *priv,
}

/* Prepare to continue an interrupted scan */
lbs_deb_scan("chan_count %d, last_scanned_channel %d\n",
chan_count, priv->last_scanned_channel);
lbs_deb_scan("chan_count %d, scan_channel %d\n",
chan_count, priv->scan_channel);
curr_chans = chan_list;
/* advance channel list by already-scanned-channels */
if (priv->last_scanned_channel > 0) {
curr_chans += priv->last_scanned_channel;
chan_count -= priv->last_scanned_channel;
if (priv->scan_channel > 0) {
curr_chans += priv->scan_channel;
chan_count -= priv->scan_channel;
}

/* Send scan command(s)
Expand All @@ -644,10 +644,10 @@ int lbs_scan_networks(struct lbs_private *priv,
!full_scan &&
!priv->surpriseremoved) {
/* -1 marks just that we're currently scanning */
if (priv->last_scanned_channel < 0)
priv->last_scanned_channel = to_scan;
if (priv->scan_channel < 0)
priv->scan_channel = to_scan;
else
priv->last_scanned_channel += to_scan;
priv->scan_channel += to_scan;
cancel_delayed_work(&priv->scan_work);
queue_delayed_work(priv->work_thread, &priv->scan_work,
msecs_to_jiffies(300));
Expand All @@ -671,7 +671,7 @@ int lbs_scan_networks(struct lbs_private *priv,
#endif

out2:
priv->last_scanned_channel = 0;
priv->scan_channel = 0;

out:
if (priv->connect_status == LBS_CONNECTED) {
Expand Down Expand Up @@ -1393,7 +1393,7 @@ int lbs_set_scan(struct net_device *dev, struct iw_request_info *info,
queue_delayed_work(priv->work_thread, &priv->scan_work,
msecs_to_jiffies(50));
/* set marker that currently a scan is taking place */
priv->last_scanned_channel = -1;
priv->scan_channel = -1;

if (priv->surpriseremoved)
return -EIO;
Expand Down Expand Up @@ -1427,7 +1427,7 @@ int lbs_get_scan(struct net_device *dev, struct iw_request_info *info,
lbs_deb_enter(LBS_DEB_SCAN);

/* iwlist should wait until the current scan is finished */
if (priv->last_scanned_channel)
if (priv->scan_channel)
return -EAGAIN;

/* Update RSSI if current BSS is a locally created ad-hoc BSS */
Expand Down

0 comments on commit 4abe892

Please sign in to comment.