aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorPavel Roskin <proski@gnu.org>2005-07-30 15:50:05 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-07-30 18:17:23 -0400
commitb15eff2632be3fcea68e01ba7f12e26a731e3157 (patch)
treee61b3a7b99c1078faed0dc0594b1df8c09caa9b2 /drivers
parent3e1d393240880e3d7ae580c46f1ba265643fcd15 (diff)
[PATCH] hostap update
Warning fix for 64-bit platforms Hello! The patch fixes following warning seen on 64-bit platforms (in my case - x86_64, gcc-4.0): In file included from /usr/local/src/hostap/driver/modules/hostap_cs.c:203: /usr/local/src/hostap/driver/modules/hostap_hw.c: In function ?prism2_transmit_cb?: /usr/local/src/hostap/driver/modules/hostap_hw.c:1674: warning: cast from pointer to integer of different size /usr/local/src/hostap/driver/modules/hostap_hw.c: In function ?prism2_transmit?: /usr/local/src/hostap/driver/modules/hostap_hw.c:1758: warning: cast to pointer from integer of different size prism2_transmit_cb uses a (void *) argument to get an integer. A simple fix would be to use double cast from pointer to long and then to int (and vice versa when int is passed as a pointer). But I prefer a slightly longer patch. I believe that whenever an argument can hold both a pointer and an integer, it should be declared long. long can hold both pointers and integers (except win64, but we are not coding for Windows), it can be cast to both of them and it's never assumed to be a valid pointer, which could be useful for some automatic code checkers. Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/hostap/hostap_hw.c18
-rw-r--r--drivers/net/wireless/hostap/hostap_wlan.h4
2 files changed, 11 insertions, 11 deletions
diff --git a/drivers/net/wireless/hostap/hostap_hw.c b/drivers/net/wireless/hostap/hostap_hw.c
index b4f7feb669ef..80d0cd30c9d3 100644
--- a/drivers/net/wireless/hostap/hostap_hw.c
+++ b/drivers/net/wireless/hostap/hostap_hw.c
@@ -507,7 +507,7 @@ static int hfa384x_cmd(struct net_device *dev, u16 cmd, u16 param0,
507 * @cmd: Prism2 command code (HFA384X_CMD_CODE_*) 507 * @cmd: Prism2 command code (HFA384X_CMD_CODE_*)
508 * @param0: value for Param0 register 508 * @param0: value for Param0 register
509 * @callback: command completion callback function (%NULL = no callback) 509 * @callback: command completion callback function (%NULL = no callback)
510 * @context: data pointer to be given to callback function 510 * @context: context data to be given to the callback function
511 * 511 *
512 * Issue given command (possibly after waiting in command queue) and use 512 * Issue given command (possibly after waiting in command queue) and use
513 * callback function to indicate command completion. This can be called both 513 * callback function to indicate command completion. This can be called both
@@ -517,9 +517,9 @@ static int hfa384x_cmd(struct net_device *dev, u16 cmd, u16 param0,
517 */ 517 */
518static int hfa384x_cmd_callback(struct net_device *dev, u16 cmd, u16 param0, 518static int hfa384x_cmd_callback(struct net_device *dev, u16 cmd, u16 param0,
519 void (*callback)(struct net_device *dev, 519 void (*callback)(struct net_device *dev,
520 void *context, u16 resp0, 520 long context, u16 resp0,
521 u16 status), 521 u16 status),
522 void *context) 522 long context)
523{ 523{
524 struct hostap_interface *iface; 524 struct hostap_interface *iface;
525 local_info_t *local; 525 local_info_t *local;
@@ -1710,7 +1710,7 @@ static int prism2_get_txfid_idx(local_info_t *local)
1710 1710
1711 1711
1712/* Called only from hardware IRQ */ 1712/* Called only from hardware IRQ */
1713static void prism2_transmit_cb(struct net_device *dev, void *context, 1713static void prism2_transmit_cb(struct net_device *dev, long context,
1714 u16 resp0, u16 res) 1714 u16 resp0, u16 res)
1715{ 1715{
1716 struct hostap_interface *iface; 1716 struct hostap_interface *iface;
@@ -1805,7 +1805,7 @@ static int prism2_transmit(struct net_device *dev, int idx)
1805 dev, 1805 dev,
1806 HFA384X_CMDCODE_TRANSMIT | HFA384X_CMD_TX_RECLAIM, 1806 HFA384X_CMDCODE_TRANSMIT | HFA384X_CMD_TX_RECLAIM,
1807 local->txfid[idx], 1807 local->txfid[idx],
1808 prism2_transmit_cb, (void *) idx); 1808 prism2_transmit_cb, (long) idx);
1809 1809
1810 if (res) { 1810 if (res) {
1811 struct net_device_stats *stats; 1811 struct net_device_stats *stats;
@@ -1951,7 +1951,7 @@ static int prism2_tx_80211(struct sk_buff *skb, struct net_device *dev)
1951 /* Any RX packet seems to break something with TX bus 1951 /* Any RX packet seems to break something with TX bus
1952 * mastering; enable command is enough to fix this.. */ 1952 * mastering; enable command is enough to fix this.. */
1953 if (hfa384x_cmd_callback(dev, HFA384X_CMDCODE_ENABLE, 0, 1953 if (hfa384x_cmd_callback(dev, HFA384X_CMDCODE_ENABLE, 0,
1954 prism2_tx_cb, (void *) buf_len)) { 1954 prism2_tx_cb, (long) buf_len)) {
1955 printk(KERN_DEBUG "%s: TX: enable port0 failed\n", 1955 printk(KERN_DEBUG "%s: TX: enable port0 failed\n",
1956 dev->name); 1956 dev->name);
1957 } 1957 }
@@ -2697,7 +2697,7 @@ static void prism2_infdrop(struct net_device *dev)
2697 * get out of this state by inquiring CommTallies. */ 2697 * get out of this state by inquiring CommTallies. */
2698 if (!last_inquire || time_after(jiffies, last_inquire + HZ)) { 2698 if (!last_inquire || time_after(jiffies, last_inquire + HZ)) {
2699 hfa384x_cmd_callback(dev, HFA384X_CMDCODE_INQUIRE, 2699 hfa384x_cmd_callback(dev, HFA384X_CMDCODE_INQUIRE,
2700 HFA384X_INFO_COMMTALLIES, NULL, NULL); 2700 HFA384X_INFO_COMMTALLIES, NULL, 0);
2701 last_inquire = jiffies; 2701 last_inquire = jiffies;
2702 } 2702 }
2703} 2703}
@@ -3055,7 +3055,7 @@ static void hostap_passive_scan(unsigned long data)
3055 3055
3056 if (hfa384x_cmd_callback(dev, HFA384X_CMDCODE_TEST | 3056 if (hfa384x_cmd_callback(dev, HFA384X_CMDCODE_TEST |
3057 (HFA384X_TEST_CHANGE_CHANNEL << 8), 3057 (HFA384X_TEST_CHANGE_CHANNEL << 8),
3058 channel, NULL, NULL)) 3058 channel, NULL, 0))
3059 printk(KERN_ERR "%s: passive scan channel set %d " 3059 printk(KERN_ERR "%s: passive scan channel set %d "
3060 "failed\n", dev->name, channel); 3060 "failed\n", dev->name, channel);
3061 3061
@@ -3088,7 +3088,7 @@ static void hostap_tick_timer(unsigned long data)
3088 !local->hw_downloading && local->hw_ready && 3088 !local->hw_downloading && local->hw_ready &&
3089 !local->hw_resetting && local->dev_enabled) { 3089 !local->hw_resetting && local->dev_enabled) {
3090 hfa384x_cmd_callback(local->dev, HFA384X_CMDCODE_INQUIRE, 3090 hfa384x_cmd_callback(local->dev, HFA384X_CMDCODE_INQUIRE,
3091 HFA384X_INFO_COMMTALLIES, NULL, NULL); 3091 HFA384X_INFO_COMMTALLIES, NULL, 0);
3092 last_inquire = jiffies; 3092 last_inquire = jiffies;
3093 } 3093 }
3094 3094
diff --git a/drivers/net/wireless/hostap/hostap_wlan.h b/drivers/net/wireless/hostap/hostap_wlan.h
index 03de0ea80bbd..f215a22e8fee 100644
--- a/drivers/net/wireless/hostap/hostap_wlan.h
+++ b/drivers/net/wireless/hostap/hostap_wlan.h
@@ -545,9 +545,9 @@ struct hostap_cmd_queue {
545 struct list_head list; 545 struct list_head list;
546 wait_queue_head_t compl; 546 wait_queue_head_t compl;
547 volatile enum { CMD_SLEEP, CMD_CALLBACK, CMD_COMPLETED } type; 547 volatile enum { CMD_SLEEP, CMD_CALLBACK, CMD_COMPLETED } type;
548 void (*callback)(struct net_device *dev, void *context, u16 resp0, 548 void (*callback)(struct net_device *dev, long context, u16 resp0,
549 u16 res); 549 u16 res);
550 void *context; 550 long context;
551 u16 cmd, param0, param1; 551 u16 cmd, param0, param1;
552 u16 resp0, res; 552 u16 resp0, res;
553 volatile int issued, issuing; 553 volatile int issued, issuing;