diff options
author | Steve French <sfrench@us.ibm.com> | 2005-11-20 00:05:42 -0500 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2005-11-20 00:05:42 -0500 |
commit | 1e6b39fbb61800e3ecee58dc8c4bca57c89365cd (patch) | |
tree | 513ce034cff05371496713b8327f9dc074bdcc6d /drivers/net/wireless | |
parent | cdbce9c87e4ebd186389919b95e49592ec35dae6 (diff) | |
parent | 3bedff1d73b86e0cf52634efb447e9ada08f2cc6 (diff) |
Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/hermes.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/hermes.h | 6 | ||||
-rw-r--r-- | drivers/net/wireless/i82593.h | 11 | ||||
-rw-r--r-- | drivers/net/wireless/ipw2100.c | 29 | ||||
-rw-r--r-- | drivers/net/wireless/ipw2100.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/ipw2200.c | 7 | ||||
-rw-r--r-- | drivers/net/wireless/prism54/isl_38xx.c | 4 |
7 files changed, 41 insertions, 24 deletions
diff --git a/drivers/net/wireless/hermes.c b/drivers/net/wireless/hermes.c index 579480dad374..346c6febb033 100644 --- a/drivers/net/wireless/hermes.c +++ b/drivers/net/wireless/hermes.c | |||
@@ -398,7 +398,7 @@ static int hermes_bap_seek(hermes_t *hw, int bap, u16 id, u16 offset) | |||
398 | * | 398 | * |
399 | * Returns: < 0 on internal failure (errno), 0 on success, > 0 on error from firmware | 399 | * Returns: < 0 on internal failure (errno), 0 on success, > 0 on error from firmware |
400 | */ | 400 | */ |
401 | int hermes_bap_pread(hermes_t *hw, int bap, void *buf, unsigned len, | 401 | int hermes_bap_pread(hermes_t *hw, int bap, void *buf, int len, |
402 | u16 id, u16 offset) | 402 | u16 id, u16 offset) |
403 | { | 403 | { |
404 | int dreg = bap ? HERMES_DATA1 : HERMES_DATA0; | 404 | int dreg = bap ? HERMES_DATA1 : HERMES_DATA0; |
@@ -424,7 +424,7 @@ int hermes_bap_pread(hermes_t *hw, int bap, void *buf, unsigned len, | |||
424 | * | 424 | * |
425 | * Returns: < 0 on internal failure (errno), 0 on success, > 0 on error from firmware | 425 | * Returns: < 0 on internal failure (errno), 0 on success, > 0 on error from firmware |
426 | */ | 426 | */ |
427 | int hermes_bap_pwrite(hermes_t *hw, int bap, const void *buf, unsigned len, | 427 | int hermes_bap_pwrite(hermes_t *hw, int bap, const void *buf, int len, |
428 | u16 id, u16 offset) | 428 | u16 id, u16 offset) |
429 | { | 429 | { |
430 | int dreg = bap ? HERMES_DATA1 : HERMES_DATA0; | 430 | int dreg = bap ? HERMES_DATA1 : HERMES_DATA0; |
@@ -450,7 +450,7 @@ int hermes_bap_pwrite(hermes_t *hw, int bap, const void *buf, unsigned len, | |||
450 | * | 450 | * |
451 | * Returns: < 0 on internal failure (errno), 0 on success, > 0 on error from firmware | 451 | * Returns: < 0 on internal failure (errno), 0 on success, > 0 on error from firmware |
452 | */ | 452 | */ |
453 | int hermes_bap_pwrite_pad(hermes_t *hw, int bap, const void *buf, unsigned data_len, unsigned len, | 453 | int hermes_bap_pwrite_pad(hermes_t *hw, int bap, const void *buf, unsigned data_len, int len, |
454 | u16 id, u16 offset) | 454 | u16 id, u16 offset) |
455 | { | 455 | { |
456 | int dreg = bap ? HERMES_DATA1 : HERMES_DATA0; | 456 | int dreg = bap ? HERMES_DATA1 : HERMES_DATA0; |
diff --git a/drivers/net/wireless/hermes.h b/drivers/net/wireless/hermes.h index a6bd472d75d4..7644f72a9f4e 100644 --- a/drivers/net/wireless/hermes.h +++ b/drivers/net/wireless/hermes.h | |||
@@ -372,12 +372,12 @@ int hermes_docmd_wait(hermes_t *hw, u16 cmd, u16 parm0, | |||
372 | struct hermes_response *resp); | 372 | struct hermes_response *resp); |
373 | int hermes_allocate(hermes_t *hw, u16 size, u16 *fid); | 373 | int hermes_allocate(hermes_t *hw, u16 size, u16 *fid); |
374 | 374 | ||
375 | int hermes_bap_pread(hermes_t *hw, int bap, void *buf, unsigned len, | 375 | int hermes_bap_pread(hermes_t *hw, int bap, void *buf, int len, |
376 | u16 id, u16 offset); | 376 | u16 id, u16 offset); |
377 | int hermes_bap_pwrite(hermes_t *hw, int bap, const void *buf, unsigned len, | 377 | int hermes_bap_pwrite(hermes_t *hw, int bap, const void *buf, int len, |
378 | u16 id, u16 offset); | 378 | u16 id, u16 offset); |
379 | int hermes_bap_pwrite_pad(hermes_t *hw, int bap, const void *buf, | 379 | int hermes_bap_pwrite_pad(hermes_t *hw, int bap, const void *buf, |
380 | unsigned data_len, unsigned len, u16 id, u16 offset); | 380 | unsigned data_len, int len, u16 id, u16 offset); |
381 | int hermes_read_ltv(hermes_t *hw, int bap, u16 rid, unsigned buflen, | 381 | int hermes_read_ltv(hermes_t *hw, int bap, u16 rid, unsigned buflen, |
382 | u16 *length, void *buf); | 382 | u16 *length, void *buf); |
383 | int hermes_write_ltv(hermes_t *hw, int bap, u16 rid, | 383 | int hermes_write_ltv(hermes_t *hw, int bap, u16 rid, |
diff --git a/drivers/net/wireless/i82593.h b/drivers/net/wireless/i82593.h index 33acb8add4d6..afac5c7a323d 100644 --- a/drivers/net/wireless/i82593.h +++ b/drivers/net/wireless/i82593.h | |||
@@ -7,11 +7,16 @@ | |||
7 | * | 7 | * |
8 | * Copyright 1994, Anders Klemets <klemets@it.kth.se> | 8 | * Copyright 1994, Anders Klemets <klemets@it.kth.se> |
9 | * | 9 | * |
10 | * This software may be freely distributed for noncommercial purposes | ||
11 | * as long as this notice is retained. | ||
12 | * | ||
13 | * HISTORY | 10 | * HISTORY |
14 | * i82593.h,v | 11 | * i82593.h,v |
12 | * Revision 1.4 2005/11/4 09:15:00 baroniunas | ||
13 | * Modified copyright with permission of author as follows: | ||
14 | * | ||
15 | * "If I82539.H is the only file with my copyright statement | ||
16 | * that is included in the Source Forge project, then you have | ||
17 | * my approval to change the copyright statement to be a GPL | ||
18 | * license, in the way you proposed on October 10." | ||
19 | * | ||
15 | * Revision 1.1 1996/07/17 15:23:12 root | 20 | * Revision 1.1 1996/07/17 15:23:12 root |
16 | * Initial revision | 21 | * Initial revision |
17 | * | 22 | * |
diff --git a/drivers/net/wireless/ipw2100.c b/drivers/net/wireless/ipw2100.c index a2e6214169e9..77d2a21d4cd0 100644 --- a/drivers/net/wireless/ipw2100.c +++ b/drivers/net/wireless/ipw2100.c | |||
@@ -6344,7 +6344,8 @@ static struct net_device *ipw2100_alloc_device(struct pci_dev *pci_dev, | |||
6344 | dev->ethtool_ops = &ipw2100_ethtool_ops; | 6344 | dev->ethtool_ops = &ipw2100_ethtool_ops; |
6345 | dev->tx_timeout = ipw2100_tx_timeout; | 6345 | dev->tx_timeout = ipw2100_tx_timeout; |
6346 | dev->wireless_handlers = &ipw2100_wx_handler_def; | 6346 | dev->wireless_handlers = &ipw2100_wx_handler_def; |
6347 | dev->get_wireless_stats = ipw2100_wx_wireless_stats; | 6347 | priv->wireless_data.ieee80211 = priv->ieee; |
6348 | dev->wireless_data = &priv->wireless_data; | ||
6348 | dev->set_mac_address = ipw2100_set_address; | 6349 | dev->set_mac_address = ipw2100_set_address; |
6349 | dev->watchdog_timeo = 3 * HZ; | 6350 | dev->watchdog_timeo = 3 * HZ; |
6350 | dev->irq = 0; | 6351 | dev->irq = 0; |
@@ -7178,6 +7179,11 @@ static int ipw2100_wx_get_range(struct net_device *dev, | |||
7178 | } | 7179 | } |
7179 | range->num_frequency = val; | 7180 | range->num_frequency = val; |
7180 | 7181 | ||
7182 | /* Event capability (kernel + driver) */ | ||
7183 | range->event_capa[0] = (IW_EVENT_CAPA_K_0 | | ||
7184 | IW_EVENT_CAPA_MASK(SIOCGIWAP)); | ||
7185 | range->event_capa[1] = IW_EVENT_CAPA_K_1; | ||
7186 | |||
7181 | IPW_DEBUG_WX("GET Range\n"); | 7187 | IPW_DEBUG_WX("GET Range\n"); |
7182 | 7188 | ||
7183 | return 0; | 7189 | return 0; |
@@ -8446,16 +8452,6 @@ static iw_handler ipw2100_private_handler[] = { | |||
8446 | #endif /* CONFIG_IPW2100_MONITOR */ | 8452 | #endif /* CONFIG_IPW2100_MONITOR */ |
8447 | }; | 8453 | }; |
8448 | 8454 | ||
8449 | static struct iw_handler_def ipw2100_wx_handler_def = { | ||
8450 | .standard = ipw2100_wx_handlers, | ||
8451 | .num_standard = sizeof(ipw2100_wx_handlers) / sizeof(iw_handler), | ||
8452 | .num_private = sizeof(ipw2100_private_handler) / sizeof(iw_handler), | ||
8453 | .num_private_args = sizeof(ipw2100_private_args) / | ||
8454 | sizeof(struct iw_priv_args), | ||
8455 | .private = (iw_handler *) ipw2100_private_handler, | ||
8456 | .private_args = (struct iw_priv_args *)ipw2100_private_args, | ||
8457 | }; | ||
8458 | |||
8459 | /* | 8455 | /* |
8460 | * Get wireless statistics. | 8456 | * Get wireless statistics. |
8461 | * Called by /proc/net/wireless | 8457 | * Called by /proc/net/wireless |
@@ -8597,6 +8593,17 @@ static struct iw_statistics *ipw2100_wx_wireless_stats(struct net_device *dev) | |||
8597 | return (struct iw_statistics *)NULL; | 8593 | return (struct iw_statistics *)NULL; |
8598 | } | 8594 | } |
8599 | 8595 | ||
8596 | static struct iw_handler_def ipw2100_wx_handler_def = { | ||
8597 | .standard = ipw2100_wx_handlers, | ||
8598 | .num_standard = sizeof(ipw2100_wx_handlers) / sizeof(iw_handler), | ||
8599 | .num_private = sizeof(ipw2100_private_handler) / sizeof(iw_handler), | ||
8600 | .num_private_args = sizeof(ipw2100_private_args) / | ||
8601 | sizeof(struct iw_priv_args), | ||
8602 | .private = (iw_handler *) ipw2100_private_handler, | ||
8603 | .private_args = (struct iw_priv_args *)ipw2100_private_args, | ||
8604 | .get_wireless_stats = ipw2100_wx_wireless_stats, | ||
8605 | }; | ||
8606 | |||
8600 | static void ipw2100_wx_event_work(struct ipw2100_priv *priv) | 8607 | static void ipw2100_wx_event_work(struct ipw2100_priv *priv) |
8601 | { | 8608 | { |
8602 | union iwreq_data wrqu; | 8609 | union iwreq_data wrqu; |
diff --git a/drivers/net/wireless/ipw2100.h b/drivers/net/wireless/ipw2100.h index 140fdf2a0a09..7c65b10bb164 100644 --- a/drivers/net/wireless/ipw2100.h +++ b/drivers/net/wireless/ipw2100.h | |||
@@ -571,6 +571,8 @@ struct ipw2100_priv { | |||
571 | struct net_device *net_dev; | 571 | struct net_device *net_dev; |
572 | struct iw_statistics wstats; | 572 | struct iw_statistics wstats; |
573 | 573 | ||
574 | struct iw_public_data wireless_data; | ||
575 | |||
574 | struct tasklet_struct irq_tasklet; | 576 | struct tasklet_struct irq_tasklet; |
575 | 577 | ||
576 | struct workqueue_struct *workqueue; | 578 | struct workqueue_struct *workqueue; |
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c index b0d195d1721a..5e7c7e944c9d 100644 --- a/drivers/net/wireless/ipw2200.c +++ b/drivers/net/wireless/ipw2200.c | |||
@@ -1110,8 +1110,7 @@ static struct ipw_fw_error *ipw_alloc_error_log(struct ipw_priv *priv) | |||
1110 | error->elem_len = elem_len; | 1110 | error->elem_len = elem_len; |
1111 | error->log_len = log_len; | 1111 | error->log_len = log_len; |
1112 | error->elem = (struct ipw_error_elem *)error->payload; | 1112 | error->elem = (struct ipw_error_elem *)error->payload; |
1113 | error->log = (struct ipw_event *)(error->elem + | 1113 | error->log = (struct ipw_event *)(error->elem + elem_len); |
1114 | (sizeof(*error->elem) * elem_len)); | ||
1115 | 1114 | ||
1116 | ipw_capture_event_log(priv, log_len, error->log); | 1115 | ipw_capture_event_log(priv, log_len, error->log); |
1117 | 1116 | ||
@@ -8926,6 +8925,10 @@ static int ipw_request_direct_scan(struct ipw_priv *priv, char *essid, | |||
8926 | struct ipw_scan_request_ext scan; | 8925 | struct ipw_scan_request_ext scan; |
8927 | int err = 0, scan_type; | 8926 | int err = 0, scan_type; |
8928 | 8927 | ||
8928 | if (!(priv->status & STATUS_INIT) || | ||
8929 | (priv->status & STATUS_EXIT_PENDING)) | ||
8930 | return 0; | ||
8931 | |||
8929 | down(&priv->sem); | 8932 | down(&priv->sem); |
8930 | 8933 | ||
8931 | if (priv->status & STATUS_RF_KILL_MASK) { | 8934 | if (priv->status & STATUS_RF_KILL_MASK) { |
diff --git a/drivers/net/wireless/prism54/isl_38xx.c b/drivers/net/wireless/prism54/isl_38xx.c index 109a96d90007..23deee69974b 100644 --- a/drivers/net/wireless/prism54/isl_38xx.c +++ b/drivers/net/wireless/prism54/isl_38xx.c | |||
@@ -164,12 +164,12 @@ isl38xx_trigger_device(int asleep, void __iomem *device_base) | |||
164 | /* assert the Wakeup interrupt in the Device Interrupt Register */ | 164 | /* assert the Wakeup interrupt in the Device Interrupt Register */ |
165 | isl38xx_w32_flush(device_base, ISL38XX_DEV_INT_WAKEUP, | 165 | isl38xx_w32_flush(device_base, ISL38XX_DEV_INT_WAKEUP, |
166 | ISL38XX_DEV_INT_REG); | 166 | ISL38XX_DEV_INT_REG); |
167 | |||
168 | #if VERBOSE > SHOW_ERROR_MESSAGES | ||
167 | udelay(ISL38XX_WRITEIO_DELAY); | 169 | udelay(ISL38XX_WRITEIO_DELAY); |
168 | 170 | ||
169 | /* perform another read on the Device Status Register */ | 171 | /* perform another read on the Device Status Register */ |
170 | reg = readl(device_base + ISL38XX_CTRL_STAT_REG); | 172 | reg = readl(device_base + ISL38XX_CTRL_STAT_REG); |
171 | |||
172 | #if VERBOSE > SHOW_ERROR_MESSAGES | ||
173 | do_gettimeofday(¤t_time); | 173 | do_gettimeofday(¤t_time); |
174 | DEBUG(SHOW_TRACING, "%08li.%08li Device register read %08x\n", | 174 | DEBUG(SHOW_TRACING, "%08li.%08li Device register read %08x\n", |
175 | current_time.tv_sec, (long)current_time.tv_usec, reg); | 175 | current_time.tv_sec, (long)current_time.tv_usec, reg); |