[PATCH] prism54: whitespace cleanup
NET: prism54 - whitespace cleanup Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
d18e0c4a54
commit
93b2dd1204
|
@ -1,5 +1,4 @@
|
||||||
/*
|
/*
|
||||||
*
|
|
||||||
* Copyright (C) 2002 Intersil Americas Inc.
|
* Copyright (C) 2002 Intersil Americas Inc.
|
||||||
* Copyright (C) 2003-2004 Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>_
|
* Copyright (C) 2003-2004 Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>_
|
||||||
*
|
*
|
||||||
|
@ -38,7 +37,7 @@
|
||||||
* isl38xx_disable_interrupts - disable all interrupts
|
* isl38xx_disable_interrupts - disable all interrupts
|
||||||
* @device: pci memory base address
|
* @device: pci memory base address
|
||||||
*
|
*
|
||||||
* Instructs the device to disable all interrupt reporting by asserting
|
* Instructs the device to disable all interrupt reporting by asserting
|
||||||
* the IRQ line. New events may still show up in the interrupt identification
|
* the IRQ line. New events may still show up in the interrupt identification
|
||||||
* register located at offset %ISL38XX_INT_IDENT_REG.
|
* register located at offset %ISL38XX_INT_IDENT_REG.
|
||||||
*/
|
*/
|
||||||
|
@ -204,17 +203,19 @@ isl38xx_interface_reset(void __iomem *device_base, dma_addr_t host_address)
|
||||||
/* enable the interrupt for detecting initialization */
|
/* enable the interrupt for detecting initialization */
|
||||||
|
|
||||||
/* Note: Do not enable other interrupts here. We want the
|
/* Note: Do not enable other interrupts here. We want the
|
||||||
* device to have come up first 100% before allowing any other
|
* device to have come up first 100% before allowing any other
|
||||||
* interrupts. */
|
* interrupts. */
|
||||||
isl38xx_w32_flush(device_base, ISL38XX_INT_IDENT_INIT, ISL38XX_INT_EN_REG);
|
isl38xx_w32_flush(device_base, ISL38XX_INT_IDENT_INIT, ISL38XX_INT_EN_REG);
|
||||||
udelay(ISL38XX_WRITEIO_DELAY); /* allow complete full reset */
|
udelay(ISL38XX_WRITEIO_DELAY); /* allow complete full reset */
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
isl38xx_enable_common_interrupts(void __iomem *device_base) {
|
isl38xx_enable_common_interrupts(void __iomem *device_base)
|
||||||
|
{
|
||||||
u32 reg;
|
u32 reg;
|
||||||
reg = ( ISL38XX_INT_IDENT_UPDATE |
|
|
||||||
ISL38XX_INT_IDENT_SLEEP | ISL38XX_INT_IDENT_WAKEUP);
|
reg = ISL38XX_INT_IDENT_UPDATE | ISL38XX_INT_IDENT_SLEEP |
|
||||||
|
ISL38XX_INT_IDENT_WAKEUP;
|
||||||
isl38xx_w32_flush(device_base, reg, ISL38XX_INT_EN_REG);
|
isl38xx_w32_flush(device_base, reg, ISL38XX_INT_EN_REG);
|
||||||
udelay(ISL38XX_WRITEIO_DELAY);
|
udelay(ISL38XX_WRITEIO_DELAY);
|
||||||
}
|
}
|
||||||
|
@ -234,23 +235,21 @@ isl38xx_in_queue(isl38xx_control_block *cb, int queue)
|
||||||
/* send queues */
|
/* send queues */
|
||||||
case ISL38XX_CB_TX_MGMTQ:
|
case ISL38XX_CB_TX_MGMTQ:
|
||||||
BUG_ON(delta > ISL38XX_CB_MGMT_QSIZE);
|
BUG_ON(delta > ISL38XX_CB_MGMT_QSIZE);
|
||||||
|
|
||||||
case ISL38XX_CB_TX_DATA_LQ:
|
case ISL38XX_CB_TX_DATA_LQ:
|
||||||
case ISL38XX_CB_TX_DATA_HQ:
|
case ISL38XX_CB_TX_DATA_HQ:
|
||||||
BUG_ON(delta > ISL38XX_CB_TX_QSIZE);
|
BUG_ON(delta > ISL38XX_CB_TX_QSIZE);
|
||||||
return delta;
|
return delta;
|
||||||
break;
|
|
||||||
|
|
||||||
/* receive queues */
|
/* receive queues */
|
||||||
case ISL38XX_CB_RX_MGMTQ:
|
case ISL38XX_CB_RX_MGMTQ:
|
||||||
BUG_ON(delta > ISL38XX_CB_MGMT_QSIZE);
|
BUG_ON(delta > ISL38XX_CB_MGMT_QSIZE);
|
||||||
return ISL38XX_CB_MGMT_QSIZE - delta;
|
return ISL38XX_CB_MGMT_QSIZE - delta;
|
||||||
break;
|
|
||||||
|
|
||||||
case ISL38XX_CB_RX_DATA_LQ:
|
case ISL38XX_CB_RX_DATA_LQ:
|
||||||
case ISL38XX_CB_RX_DATA_HQ:
|
case ISL38XX_CB_RX_DATA_HQ:
|
||||||
BUG_ON(delta > ISL38XX_CB_RX_QSIZE);
|
BUG_ON(delta > ISL38XX_CB_RX_QSIZE);
|
||||||
return ISL38XX_CB_RX_QSIZE - delta;
|
return ISL38XX_CB_RX_QSIZE - delta;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
BUG();
|
BUG();
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/*
|
/*
|
||||||
*
|
|
||||||
* Copyright (C) 2002 Intersil Americas Inc.
|
* Copyright (C) 2002 Intersil Americas Inc.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
@ -67,10 +66,10 @@
|
||||||
* @base: (host) memory base address of the device
|
* @base: (host) memory base address of the device
|
||||||
* @val: 32bit value (host order) to write
|
* @val: 32bit value (host order) to write
|
||||||
* @offset: byte offset into @base to write value to
|
* @offset: byte offset into @base to write value to
|
||||||
*
|
*
|
||||||
* This helper takes care of writing a 32bit datum to the
|
* This helper takes care of writing a 32bit datum to the
|
||||||
* specified offset into the device's pci memory space, and making sure
|
* specified offset into the device's pci memory space, and making sure
|
||||||
* the pci memory buffers get flushed by performing one harmless read
|
* the pci memory buffers get flushed by performing one harmless read
|
||||||
* from the %ISL38XX_PCI_POSTING_FLUSH offset.
|
* from the %ISL38XX_PCI_POSTING_FLUSH offset.
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/*
|
/*
|
||||||
*
|
|
||||||
* Copyright (C) 2002 Intersil Americas Inc.
|
* Copyright (C) 2002 Intersil Americas Inc.
|
||||||
* (C) 2003,2004 Aurelien Alleaume <slts@free.fr>
|
* (C) 2003,2004 Aurelien Alleaume <slts@free.fr>
|
||||||
* (C) 2003 Herbert Valerio Riedel <hvr@gnu.org>
|
* (C) 2003 Herbert Valerio Riedel <hvr@gnu.org>
|
||||||
|
@ -55,12 +54,12 @@ static const unsigned char scan_rate_list[] = { 2, 4, 11, 22,
|
||||||
* prism54_mib_mode_helper - MIB change mode helper function
|
* prism54_mib_mode_helper - MIB change mode helper function
|
||||||
* @mib: the &struct islpci_mib object to modify
|
* @mib: the &struct islpci_mib object to modify
|
||||||
* @iw_mode: new mode (%IW_MODE_*)
|
* @iw_mode: new mode (%IW_MODE_*)
|
||||||
*
|
*
|
||||||
* This is a helper function, hence it does not lock. Make sure
|
* This is a helper function, hence it does not lock. Make sure
|
||||||
* caller deals with locking *if* necessary. This function sets the
|
* caller deals with locking *if* necessary. This function sets the
|
||||||
* mode-dependent mib values and does the mapping of the Linux
|
* mode-dependent mib values and does the mapping of the Linux
|
||||||
* Wireless API modes to Device firmware modes. It also checks for
|
* Wireless API modes to Device firmware modes. It also checks for
|
||||||
* correct valid Linux wireless modes.
|
* correct valid Linux wireless modes.
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
prism54_mib_mode_helper(islpci_private *priv, u32 iw_mode)
|
prism54_mib_mode_helper(islpci_private *priv, u32 iw_mode)
|
||||||
|
@ -118,7 +117,7 @@ prism54_mib_mode_helper(islpci_private *priv, u32 iw_mode)
|
||||||
*
|
*
|
||||||
* this function initializes the struct given as @mib with defaults,
|
* this function initializes the struct given as @mib with defaults,
|
||||||
* of which many are retrieved from the global module parameter
|
* of which many are retrieved from the global module parameter
|
||||||
* variables.
|
* variables.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -134,7 +133,7 @@ prism54_mib_init(islpci_private *priv)
|
||||||
authen = CARD_DEFAULT_AUTHEN;
|
authen = CARD_DEFAULT_AUTHEN;
|
||||||
wep = CARD_DEFAULT_WEP;
|
wep = CARD_DEFAULT_WEP;
|
||||||
filter = CARD_DEFAULT_FILTER; /* (0) Do not filter un-encrypted data */
|
filter = CARD_DEFAULT_FILTER; /* (0) Do not filter un-encrypted data */
|
||||||
dot1x = CARD_DEFAULT_DOT1X;
|
dot1x = CARD_DEFAULT_DOT1X;
|
||||||
mlme = CARD_DEFAULT_MLME_MODE;
|
mlme = CARD_DEFAULT_MLME_MODE;
|
||||||
conformance = CARD_DEFAULT_CONFORMANCE;
|
conformance = CARD_DEFAULT_CONFORMANCE;
|
||||||
power = 127;
|
power = 127;
|
||||||
|
@ -228,7 +227,7 @@ prism54_get_wireless_stats(struct net_device *ndev)
|
||||||
} else
|
} else
|
||||||
priv->iwstatistics.qual.updated = 0;
|
priv->iwstatistics.qual.updated = 0;
|
||||||
|
|
||||||
/* Update our wireless stats, but do not schedule to often
|
/* Update our wireless stats, but do not schedule to often
|
||||||
* (max 1 HZ) */
|
* (max 1 HZ) */
|
||||||
if ((priv->stats_timestamp == 0) ||
|
if ((priv->stats_timestamp == 0) ||
|
||||||
time_after(jiffies, priv->stats_timestamp + 1 * HZ)) {
|
time_after(jiffies, priv->stats_timestamp + 1 * HZ)) {
|
||||||
|
@ -705,7 +704,7 @@ prism54_get_scan(struct net_device *ndev, struct iw_request_info *info,
|
||||||
* Starting with WE-17, the buffer can be as big as needed.
|
* Starting with WE-17, the buffer can be as big as needed.
|
||||||
* But the device won't repport anything if you change the value
|
* But the device won't repport anything if you change the value
|
||||||
* of IWMAX_BSS=24. */
|
* of IWMAX_BSS=24. */
|
||||||
|
|
||||||
rvalue |= mgt_get_request(priv, DOT11_OID_BSSLIST, 0, NULL, &r);
|
rvalue |= mgt_get_request(priv, DOT11_OID_BSSLIST, 0, NULL, &r);
|
||||||
bsslist = r.ptr;
|
bsslist = r.ptr;
|
||||||
|
|
||||||
|
@ -785,7 +784,7 @@ prism54_get_essid(struct net_device *ndev, struct iw_request_info *info,
|
||||||
return rvalue;
|
return rvalue;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Provides no functionality, just completes the ioctl. In essence this is a
|
/* Provides no functionality, just completes the ioctl. In essence this is a
|
||||||
* just a cosmetic ioctl.
|
* just a cosmetic ioctl.
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
|
@ -1104,7 +1103,7 @@ prism54_set_encode(struct net_device *ndev, struct iw_request_info *info,
|
||||||
&key);
|
&key);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* If a valid key is set, encryption should be enabled
|
* If a valid key is set, encryption should be enabled
|
||||||
* (user may turn it off later).
|
* (user may turn it off later).
|
||||||
* This is also how "iwconfig ethX key on" works
|
* This is also how "iwconfig ethX key on" works
|
||||||
*/
|
*/
|
||||||
|
@ -1126,7 +1125,7 @@ prism54_set_encode(struct net_device *ndev, struct iw_request_info *info,
|
||||||
}
|
}
|
||||||
/* now read the flags */
|
/* now read the flags */
|
||||||
if (dwrq->flags & IW_ENCODE_DISABLED) {
|
if (dwrq->flags & IW_ENCODE_DISABLED) {
|
||||||
/* Encoding disabled,
|
/* Encoding disabled,
|
||||||
* authen = DOT11_AUTH_OS;
|
* authen = DOT11_AUTH_OS;
|
||||||
* invoke = 0;
|
* invoke = 0;
|
||||||
* exunencrypt = 0; */
|
* exunencrypt = 0; */
|
||||||
|
@ -1214,7 +1213,7 @@ prism54_get_txpower(struct net_device *ndev, struct iw_request_info *info,
|
||||||
vwrq->value = (s32) r.u / 4;
|
vwrq->value = (s32) r.u / 4;
|
||||||
vwrq->fixed = 1;
|
vwrq->fixed = 1;
|
||||||
/* radio is not turned of
|
/* radio is not turned of
|
||||||
* btw: how is possible to turn off only the radio
|
* btw: how is possible to turn off only the radio
|
||||||
*/
|
*/
|
||||||
vwrq->disabled = 0;
|
vwrq->disabled = 0;
|
||||||
|
|
||||||
|
@ -2354,17 +2353,17 @@ prism54_process_trap_helper(islpci_private *priv, enum oid_num_t oid,
|
||||||
handle_request(priv, mlme, oid);
|
handle_request(priv, mlme, oid);
|
||||||
send_formatted_event(priv, "Authenticate request (ex)", mlme, 1);
|
send_formatted_event(priv, "Authenticate request (ex)", mlme, 1);
|
||||||
|
|
||||||
if (priv->iw_mode != IW_MODE_MASTER
|
if (priv->iw_mode != IW_MODE_MASTER
|
||||||
&& mlmeex->state != DOT11_STATE_AUTHING)
|
&& mlmeex->state != DOT11_STATE_AUTHING)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
confirm = kmalloc(sizeof(struct obj_mlmeex) + 6, GFP_ATOMIC);
|
confirm = kmalloc(sizeof(struct obj_mlmeex) + 6, GFP_ATOMIC);
|
||||||
|
|
||||||
if (!confirm)
|
if (!confirm)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
memcpy(&confirm->address, mlmeex->address, ETH_ALEN);
|
memcpy(&confirm->address, mlmeex->address, ETH_ALEN);
|
||||||
printk(KERN_DEBUG "Authenticate from: address:\t%02x:%02x:%02x:%02x:%02x:%02x\n",
|
printk(KERN_DEBUG "Authenticate from: address:\t%02x:%02x:%02x:%02x:%02x:%02x\n",
|
||||||
mlmeex->address[0],
|
mlmeex->address[0],
|
||||||
mlmeex->address[1],
|
mlmeex->address[1],
|
||||||
mlmeex->address[2],
|
mlmeex->address[2],
|
||||||
|
@ -2398,10 +2397,10 @@ prism54_process_trap_helper(islpci_private *priv, enum oid_num_t oid,
|
||||||
handle_request(priv, mlme, oid);
|
handle_request(priv, mlme, oid);
|
||||||
send_formatted_event(priv, "Associate request (ex)", mlme, 1);
|
send_formatted_event(priv, "Associate request (ex)", mlme, 1);
|
||||||
|
|
||||||
if (priv->iw_mode != IW_MODE_MASTER
|
if (priv->iw_mode != IW_MODE_MASTER
|
||||||
&& mlmeex->state != DOT11_STATE_ASSOCING)
|
&& mlmeex->state != DOT11_STATE_ASSOCING)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
confirm = kmalloc(sizeof(struct obj_mlmeex), GFP_ATOMIC);
|
confirm = kmalloc(sizeof(struct obj_mlmeex), GFP_ATOMIC);
|
||||||
|
|
||||||
if (!confirm)
|
if (!confirm)
|
||||||
|
@ -2417,7 +2416,7 @@ prism54_process_trap_helper(islpci_private *priv, enum oid_num_t oid,
|
||||||
|
|
||||||
if (!wpa_ie_len) {
|
if (!wpa_ie_len) {
|
||||||
printk(KERN_DEBUG "No WPA IE found from "
|
printk(KERN_DEBUG "No WPA IE found from "
|
||||||
"address:\t%02x:%02x:%02x:%02x:%02x:%02x\n",
|
"address:\t%02x:%02x:%02x:%02x:%02x:%02x\n",
|
||||||
mlmeex->address[0],
|
mlmeex->address[0],
|
||||||
mlmeex->address[1],
|
mlmeex->address[1],
|
||||||
mlmeex->address[2],
|
mlmeex->address[2],
|
||||||
|
@ -2435,14 +2434,14 @@ prism54_process_trap_helper(islpci_private *priv, enum oid_num_t oid,
|
||||||
mgt_set_varlen(priv, oid, confirm, wpa_ie_len);
|
mgt_set_varlen(priv, oid, confirm, wpa_ie_len);
|
||||||
|
|
||||||
kfree(confirm);
|
kfree(confirm);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DOT11_OID_REASSOCIATEEX:
|
case DOT11_OID_REASSOCIATEEX:
|
||||||
handle_request(priv, mlme, oid);
|
handle_request(priv, mlme, oid);
|
||||||
send_formatted_event(priv, "Reassociate request (ex)", mlme, 1);
|
send_formatted_event(priv, "Reassociate request (ex)", mlme, 1);
|
||||||
|
|
||||||
if (priv->iw_mode != IW_MODE_MASTER
|
if (priv->iw_mode != IW_MODE_MASTER
|
||||||
&& mlmeex->state != DOT11_STATE_ASSOCING)
|
&& mlmeex->state != DOT11_STATE_ASSOCING)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -2461,7 +2460,7 @@ prism54_process_trap_helper(islpci_private *priv, enum oid_num_t oid,
|
||||||
|
|
||||||
if (!wpa_ie_len) {
|
if (!wpa_ie_len) {
|
||||||
printk(KERN_DEBUG "No WPA IE found from "
|
printk(KERN_DEBUG "No WPA IE found from "
|
||||||
"address:\t%02x:%02x:%02x:%02x:%02x:%02x\n",
|
"address:\t%02x:%02x:%02x:%02x:%02x:%02x\n",
|
||||||
mlmeex->address[0],
|
mlmeex->address[0],
|
||||||
mlmeex->address[1],
|
mlmeex->address[1],
|
||||||
mlmeex->address[2],
|
mlmeex->address[2],
|
||||||
|
@ -2473,13 +2472,13 @@ prism54_process_trap_helper(islpci_private *priv, enum oid_num_t oid,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
confirm->size = wpa_ie_len;
|
confirm->size = wpa_ie_len;
|
||||||
memcpy(&confirm->data, wpa_ie, wpa_ie_len);
|
memcpy(&confirm->data, wpa_ie, wpa_ie_len);
|
||||||
|
|
||||||
mgt_set_varlen(priv, oid, confirm, wpa_ie_len);
|
mgt_set_varlen(priv, oid, confirm, wpa_ie_len);
|
||||||
|
|
||||||
kfree(confirm);
|
kfree(confirm);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -2545,10 +2544,10 @@ enum {
|
||||||
#define PRISM2_HOSTAPD_GENERIC_ELEMENT_HDR_LEN \
|
#define PRISM2_HOSTAPD_GENERIC_ELEMENT_HDR_LEN \
|
||||||
((int) (&((struct prism2_hostapd_param *) 0)->u.generic_elem.data))
|
((int) (&((struct prism2_hostapd_param *) 0)->u.generic_elem.data))
|
||||||
|
|
||||||
/* Maximum length for algorithm names (-1 for nul termination)
|
/* Maximum length for algorithm names (-1 for nul termination)
|
||||||
* used in ioctl() */
|
* used in ioctl() */
|
||||||
#define HOSTAP_CRYPT_ALG_NAME_LEN 16
|
#define HOSTAP_CRYPT_ALG_NAME_LEN 16
|
||||||
|
|
||||||
struct prism2_hostapd_param {
|
struct prism2_hostapd_param {
|
||||||
u32 cmd;
|
u32 cmd;
|
||||||
u8 sta_addr[ETH_ALEN];
|
u8 sta_addr[ETH_ALEN];
|
||||||
|
@ -2621,7 +2620,7 @@ prism2_ioctl_set_encryption(struct net_device *dev,
|
||||||
&key);
|
&key);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* If a valid key is set, encryption should be enabled
|
* If a valid key is set, encryption should be enabled
|
||||||
* (user may turn it off later).
|
* (user may turn it off later).
|
||||||
* This is also how "iwconfig ethX key on" works
|
* This is also how "iwconfig ethX key on" works
|
||||||
*/
|
*/
|
||||||
|
@ -2643,7 +2642,7 @@ prism2_ioctl_set_encryption(struct net_device *dev,
|
||||||
}
|
}
|
||||||
/* now read the flags */
|
/* now read the flags */
|
||||||
if (param->u.crypt.flags & IW_ENCODE_DISABLED) {
|
if (param->u.crypt.flags & IW_ENCODE_DISABLED) {
|
||||||
/* Encoding disabled,
|
/* Encoding disabled,
|
||||||
* authen = DOT11_AUTH_OS;
|
* authen = DOT11_AUTH_OS;
|
||||||
* invoke = 0;
|
* invoke = 0;
|
||||||
* exunencrypt = 0; */
|
* exunencrypt = 0; */
|
||||||
|
@ -2710,7 +2709,7 @@ prism2_ioctl_set_generic_element(struct net_device *ndev,
|
||||||
|
|
||||||
ret = mgt_set_varlen(priv, DOT11_OID_ATTACHMENT, attach, len);
|
ret = mgt_set_varlen(priv, DOT11_OID_ATTACHMENT, attach, len);
|
||||||
|
|
||||||
if (ret == 0)
|
if (ret == 0)
|
||||||
printk(KERN_DEBUG "%s: WPA IE Attachment was set\n",
|
printk(KERN_DEBUG "%s: WPA IE Attachment was set\n",
|
||||||
ndev->name);
|
ndev->name);
|
||||||
}
|
}
|
||||||
|
@ -2870,7 +2869,7 @@ prism54_set_wpa(struct net_device *ndev, struct iw_request_info *info,
|
||||||
mlme = DOT11_MLME_AUTO;
|
mlme = DOT11_MLME_AUTO;
|
||||||
printk("%s: Disabling WPA\n", ndev->name);
|
printk("%s: Disabling WPA\n", ndev->name);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
case 1: /* WPA */
|
case 1: /* WPA */
|
||||||
printk("%s: Enabling WPA\n", ndev->name);
|
printk("%s: Enabling WPA\n", ndev->name);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/*
|
/*
|
||||||
*
|
|
||||||
* Copyright (C) 2002 Intersil Americas Inc.
|
* Copyright (C) 2002 Intersil Americas Inc.
|
||||||
* (C) 2003 Aurelien Alleaume <slts@free.fr>
|
* (C) 2003 Aurelien Alleaume <slts@free.fr>
|
||||||
* (C) 2003 Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>
|
* (C) 2003 Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
/*
|
/*
|
||||||
*
|
|
||||||
*
|
|
||||||
* Copyright (C) 2003 Herbert Valerio Riedel <hvr@gnu.org>
|
* Copyright (C) 2003 Herbert Valerio Riedel <hvr@gnu.org>
|
||||||
* Copyright (C) 2004 Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>
|
* Copyright (C) 2004 Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>
|
||||||
* Copyright (C) 2004 Aurelien Alleaume <slts@free.fr>
|
* Copyright (C) 2004 Aurelien Alleaume <slts@free.fr>
|
||||||
|
@ -23,7 +21,7 @@
|
||||||
#if !defined(_ISL_OID_H)
|
#if !defined(_ISL_OID_H)
|
||||||
#define _ISL_OID_H
|
#define _ISL_OID_H
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* MIB related constant and structure definitions for communicating
|
* MIB related constant and structure definitions for communicating
|
||||||
* with the device firmware
|
* with the device firmware
|
||||||
*/
|
*/
|
||||||
|
@ -99,7 +97,7 @@ struct obj_attachment {
|
||||||
char data[0];
|
char data[0];
|
||||||
} __attribute__((packed));
|
} __attribute__((packed));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* in case everything's ok, the inlined function below will be
|
* in case everything's ok, the inlined function below will be
|
||||||
* optimized away by the compiler...
|
* optimized away by the compiler...
|
||||||
*/
|
*/
|
||||||
|
@ -154,13 +152,13 @@ enum dot11_priv_t {
|
||||||
|
|
||||||
/* Prism "Nitro" / Frameburst / "Packet Frame Grouping"
|
/* Prism "Nitro" / Frameburst / "Packet Frame Grouping"
|
||||||
* Value is in microseconds. Represents the # microseconds
|
* Value is in microseconds. Represents the # microseconds
|
||||||
* the firmware will take to group frames before sending out then out
|
* the firmware will take to group frames before sending out then out
|
||||||
* together with a CSMA contention. Without this all frames are
|
* together with a CSMA contention. Without this all frames are
|
||||||
* sent with a CSMA contention.
|
* sent with a CSMA contention.
|
||||||
* Bibliography:
|
* Bibliography:
|
||||||
* http://www.hpl.hp.com/personal/Jean_Tourrilhes/Papers/Packet.Frame.Grouping.html
|
* http://www.hpl.hp.com/personal/Jean_Tourrilhes/Papers/Packet.Frame.Grouping.html
|
||||||
*/
|
*/
|
||||||
enum dot11_maxframeburst_t {
|
enum dot11_maxframeburst_t {
|
||||||
/* Values for DOT11_OID_MAXFRAMEBURST */
|
/* Values for DOT11_OID_MAXFRAMEBURST */
|
||||||
DOT11_MAXFRAMEBURST_OFF = 0, /* Card firmware default */
|
DOT11_MAXFRAMEBURST_OFF = 0, /* Card firmware default */
|
||||||
DOT11_MAXFRAMEBURST_MIXED_SAFE = 650, /* 802.11 a,b,g safe */
|
DOT11_MAXFRAMEBURST_MIXED_SAFE = 650, /* 802.11 a,b,g safe */
|
||||||
|
@ -176,9 +174,9 @@ enum dot11_maxframeburst_t {
|
||||||
/* Support for 802.11 long and short frame preambles.
|
/* Support for 802.11 long and short frame preambles.
|
||||||
* Long preamble uses 128-bit sync field, 8-bit CRC
|
* Long preamble uses 128-bit sync field, 8-bit CRC
|
||||||
* Short preamble uses 56-bit sync field, 16-bit CRC
|
* Short preamble uses 56-bit sync field, 16-bit CRC
|
||||||
*
|
*
|
||||||
* 802.11a -- not sure, both optionally ?
|
* 802.11a -- not sure, both optionally ?
|
||||||
* 802.11b supports long and optionally short
|
* 802.11b supports long and optionally short
|
||||||
* 802.11g supports both */
|
* 802.11g supports both */
|
||||||
enum dot11_preamblesettings_t {
|
enum dot11_preamblesettings_t {
|
||||||
DOT11_PREAMBLESETTING_LONG = 0,
|
DOT11_PREAMBLESETTING_LONG = 0,
|
||||||
|
@ -194,7 +192,7 @@ enum dot11_preamblesettings_t {
|
||||||
* Long uses 802.11a slot timing (9 usec ?)
|
* Long uses 802.11a slot timing (9 usec ?)
|
||||||
* Short uses 802.11b slot timing (20 use ?) */
|
* Short uses 802.11b slot timing (20 use ?) */
|
||||||
enum dot11_slotsettings_t {
|
enum dot11_slotsettings_t {
|
||||||
DOT11_SLOTSETTINGS_LONG = 0,
|
DOT11_SLOTSETTINGS_LONG = 0,
|
||||||
/* Allows *only* long 802.11b slot timing */
|
/* Allows *only* long 802.11b slot timing */
|
||||||
DOT11_SLOTSETTINGS_SHORT = 1,
|
DOT11_SLOTSETTINGS_SHORT = 1,
|
||||||
/* Allows *only* long 802.11a slot timing */
|
/* Allows *only* long 802.11a slot timing */
|
||||||
|
@ -203,7 +201,7 @@ enum dot11_slotsettings_t {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* All you need to know, ERP is "Extended Rate PHY".
|
/* All you need to know, ERP is "Extended Rate PHY".
|
||||||
* An Extended Rate PHY (ERP) STA or AP shall support three different
|
* An Extended Rate PHY (ERP) STA or AP shall support three different
|
||||||
* preamble and header formats:
|
* preamble and header formats:
|
||||||
* Long preamble (refer to above)
|
* Long preamble (refer to above)
|
||||||
* Short preamble (refer to above)
|
* Short preamble (refer to above)
|
||||||
|
@ -221,7 +219,7 @@ enum do11_nonerpstatus_t {
|
||||||
/* (ERP is "Extended Rate PHY") Way to read NONERP is NON-ERP-*
|
/* (ERP is "Extended Rate PHY") Way to read NONERP is NON-ERP-*
|
||||||
* The key here is DOT11 NON ERP NEVER protects against
|
* The key here is DOT11 NON ERP NEVER protects against
|
||||||
* NON ERP STA's. You *don't* want this unless
|
* NON ERP STA's. You *don't* want this unless
|
||||||
* you know what you are doing. It means you will only
|
* you know what you are doing. It means you will only
|
||||||
* get Extended Rate capabilities */
|
* get Extended Rate capabilities */
|
||||||
enum dot11_nonerpprotection_t {
|
enum dot11_nonerpprotection_t {
|
||||||
DOT11_NONERP_NEVER = 0,
|
DOT11_NONERP_NEVER = 0,
|
||||||
|
@ -229,13 +227,13 @@ enum dot11_nonerpprotection_t {
|
||||||
DOT11_NONERP_DYNAMIC = 2
|
DOT11_NONERP_DYNAMIC = 2
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Preset OID configuration for 802.11 modes
|
/* Preset OID configuration for 802.11 modes
|
||||||
* Note: DOT11_OID_CW[MIN|MAX] hold the values of the
|
* Note: DOT11_OID_CW[MIN|MAX] hold the values of the
|
||||||
* DCS MIN|MAX backoff used */
|
* DCS MIN|MAX backoff used */
|
||||||
enum dot11_profile_t { /* And set/allowed values */
|
enum dot11_profile_t { /* And set/allowed values */
|
||||||
/* Allowed values for DOT11_OID_PROFILES */
|
/* Allowed values for DOT11_OID_PROFILES */
|
||||||
DOT11_PROFILE_B_ONLY = 0,
|
DOT11_PROFILE_B_ONLY = 0,
|
||||||
/* DOT11_OID_RATES: 1, 2, 5.5, 11Mbps
|
/* DOT11_OID_RATES: 1, 2, 5.5, 11Mbps
|
||||||
* DOT11_OID_PREAMBLESETTINGS: DOT11_PREAMBLESETTING_DYNAMIC
|
* DOT11_OID_PREAMBLESETTINGS: DOT11_PREAMBLESETTING_DYNAMIC
|
||||||
* DOT11_OID_CWMIN: 31
|
* DOT11_OID_CWMIN: 31
|
||||||
* DOT11_OID_NONEPROTECTION: DOT11_NOERP_DYNAMIC
|
* DOT11_OID_NONEPROTECTION: DOT11_NOERP_DYNAMIC
|
||||||
|
@ -275,7 +273,7 @@ enum oid_inl_conformance_t {
|
||||||
OID_INL_CONFORMANCE_NONE = 0, /* Perform active scanning */
|
OID_INL_CONFORMANCE_NONE = 0, /* Perform active scanning */
|
||||||
OID_INL_CONFORMANCE_STRICT = 1, /* Strictly adhere to 802.11d */
|
OID_INL_CONFORMANCE_STRICT = 1, /* Strictly adhere to 802.11d */
|
||||||
OID_INL_CONFORMANCE_FLEXIBLE = 2, /* Use passed 802.11d info to
|
OID_INL_CONFORMANCE_FLEXIBLE = 2, /* Use passed 802.11d info to
|
||||||
* determine channel AND/OR just make assumption that active
|
* determine channel AND/OR just make assumption that active
|
||||||
* channels are valid channels */
|
* channels are valid channels */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/*
|
/*
|
||||||
*
|
|
||||||
* Copyright (C) 2002 Intersil Americas Inc.
|
* Copyright (C) 2002 Intersil Americas Inc.
|
||||||
* Copyright (C) 2003 Herbert Valerio Riedel <hvr@gnu.org>
|
* Copyright (C) 2003 Herbert Valerio Riedel <hvr@gnu.org>
|
||||||
* Copyright (C) 2003 Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>
|
* Copyright (C) 2003 Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>
|
||||||
|
@ -413,7 +412,7 @@ prism54_bring_down(islpci_private *priv)
|
||||||
islpci_set_state(priv, PRV_STATE_PREBOOT);
|
islpci_set_state(priv, PRV_STATE_PREBOOT);
|
||||||
|
|
||||||
/* disable all device interrupts in case they weren't */
|
/* disable all device interrupts in case they weren't */
|
||||||
isl38xx_disable_interrupts(priv->device_base);
|
isl38xx_disable_interrupts(priv->device_base);
|
||||||
|
|
||||||
/* For safety reasons, we may want to ensure that no DMA transfer is
|
/* For safety reasons, we may want to ensure that no DMA transfer is
|
||||||
* currently in progress by emptying the TX and RX queues. */
|
* currently in progress by emptying the TX and RX queues. */
|
||||||
|
@ -480,7 +479,7 @@ islpci_reset_if(islpci_private *priv)
|
||||||
|
|
||||||
DEFINE_WAIT(wait);
|
DEFINE_WAIT(wait);
|
||||||
prepare_to_wait(&priv->reset_done, &wait, TASK_UNINTERRUPTIBLE);
|
prepare_to_wait(&priv->reset_done, &wait, TASK_UNINTERRUPTIBLE);
|
||||||
|
|
||||||
/* now the last step is to reset the interface */
|
/* now the last step is to reset the interface */
|
||||||
isl38xx_interface_reset(priv->device_base, priv->device_host_address);
|
isl38xx_interface_reset(priv->device_base, priv->device_host_address);
|
||||||
islpci_set_state(priv, PRV_STATE_PREINIT);
|
islpci_set_state(priv, PRV_STATE_PREINIT);
|
||||||
|
@ -488,7 +487,7 @@ islpci_reset_if(islpci_private *priv)
|
||||||
for(count = 0; count < 2 && result; count++) {
|
for(count = 0; count < 2 && result; count++) {
|
||||||
/* The software reset acknowledge needs about 220 msec here.
|
/* The software reset acknowledge needs about 220 msec here.
|
||||||
* Be conservative and wait for up to one second. */
|
* Be conservative and wait for up to one second. */
|
||||||
|
|
||||||
remaining = schedule_timeout_uninterruptible(HZ);
|
remaining = schedule_timeout_uninterruptible(HZ);
|
||||||
|
|
||||||
if(remaining > 0) {
|
if(remaining > 0) {
|
||||||
|
@ -496,7 +495,7 @@ islpci_reset_if(islpci_private *priv)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If we're here it's because our IRQ hasn't yet gone through.
|
/* If we're here it's because our IRQ hasn't yet gone through.
|
||||||
* Retry a bit more...
|
* Retry a bit more...
|
||||||
*/
|
*/
|
||||||
printk(KERN_ERR "%s: no 'reset complete' IRQ seen - retrying\n",
|
printk(KERN_ERR "%s: no 'reset complete' IRQ seen - retrying\n",
|
||||||
|
@ -514,7 +513,7 @@ islpci_reset_if(islpci_private *priv)
|
||||||
|
|
||||||
/* Now that the device is 100% up, let's allow
|
/* Now that the device is 100% up, let's allow
|
||||||
* for the other interrupts --
|
* for the other interrupts --
|
||||||
* NOTE: this is not *yet* true since we've only allowed the
|
* NOTE: this is not *yet* true since we've only allowed the
|
||||||
* INIT interrupt on the IRQ line. We can perhaps poll
|
* INIT interrupt on the IRQ line. We can perhaps poll
|
||||||
* the IRQ line until we know for sure the reset went through */
|
* the IRQ line until we know for sure the reset went through */
|
||||||
isl38xx_enable_common_interrupts(priv->device_base);
|
isl38xx_enable_common_interrupts(priv->device_base);
|
||||||
|
@ -716,7 +715,7 @@ islpci_alloc_memory(islpci_private *priv)
|
||||||
|
|
||||||
prism54_acl_init(&priv->acl);
|
prism54_acl_init(&priv->acl);
|
||||||
prism54_wpa_bss_ie_init(priv);
|
prism54_wpa_bss_ie_init(priv);
|
||||||
if (mgt_init(priv))
|
if (mgt_init(priv))
|
||||||
goto out_free;
|
goto out_free;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
/*
|
/*
|
||||||
*
|
* Copyright (C) 2002 Intersil Americas Inc.
|
||||||
* Copyright (C) 2002 Intersil Americas Inc.
|
|
||||||
* Copyright (C) 2003 Herbert Valerio Riedel <hvr@gnu.org>
|
* Copyright (C) 2003 Herbert Valerio Riedel <hvr@gnu.org>
|
||||||
* Copyright (C) 2003 Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>
|
* Copyright (C) 2003 Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>
|
||||||
* Copyright (C) 2003 Aurelien Alleaume <slts@free.fr>
|
* Copyright (C) 2003 Aurelien Alleaume <slts@free.fr>
|
||||||
|
@ -72,12 +71,12 @@ struct islpci_bss_wpa_ie {
|
||||||
u8 bssid[ETH_ALEN];
|
u8 bssid[ETH_ALEN];
|
||||||
u8 wpa_ie[MAX_WPA_IE_LEN];
|
u8 wpa_ie[MAX_WPA_IE_LEN];
|
||||||
size_t wpa_ie_len;
|
size_t wpa_ie_len;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
spinlock_t slock; /* generic spinlock; */
|
spinlock_t slock; /* generic spinlock; */
|
||||||
|
|
||||||
u32 priv_oid;
|
u32 priv_oid;
|
||||||
|
|
||||||
/* our mib cache */
|
/* our mib cache */
|
||||||
|
@ -85,7 +84,7 @@ typedef struct {
|
||||||
struct rw_semaphore mib_sem;
|
struct rw_semaphore mib_sem;
|
||||||
void **mib;
|
void **mib;
|
||||||
char nickname[IW_ESSID_MAX_SIZE+1];
|
char nickname[IW_ESSID_MAX_SIZE+1];
|
||||||
|
|
||||||
/* Take care of the wireless stats */
|
/* Take care of the wireless stats */
|
||||||
struct work_struct stats_work;
|
struct work_struct stats_work;
|
||||||
struct semaphore stats_sem;
|
struct semaphore stats_sem;
|
||||||
|
@ -120,7 +119,7 @@ typedef struct {
|
||||||
struct net_device *ndev;
|
struct net_device *ndev;
|
||||||
|
|
||||||
/* device queue interface members */
|
/* device queue interface members */
|
||||||
struct isl38xx_cb *control_block; /* device control block
|
struct isl38xx_cb *control_block; /* device control block
|
||||||
(== driver_mem_address!) */
|
(== driver_mem_address!) */
|
||||||
|
|
||||||
/* Each queue has three indexes:
|
/* Each queue has three indexes:
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/*
|
/*
|
||||||
*
|
|
||||||
* Copyright (C) 2002 Intersil Americas Inc.
|
* Copyright (C) 2002 Intersil Americas Inc.
|
||||||
* Copyright (C) 2004 Aurelien Alleaume <slts@free.fr>
|
* Copyright (C) 2004 Aurelien Alleaume <slts@free.fr>
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
@ -48,7 +47,7 @@ islpci_eth_cleanup_transmit(islpci_private *priv,
|
||||||
/* read the index of the first fragment to be freed */
|
/* read the index of the first fragment to be freed */
|
||||||
index = priv->free_data_tx % ISL38XX_CB_TX_QSIZE;
|
index = priv->free_data_tx % ISL38XX_CB_TX_QSIZE;
|
||||||
|
|
||||||
/* check for holes in the arrays caused by multi fragment frames
|
/* check for holes in the arrays caused by multi fragment frames
|
||||||
* searching for the last fragment of a frame */
|
* searching for the last fragment of a frame */
|
||||||
if (priv->pci_map_tx_address[index] != (dma_addr_t) NULL) {
|
if (priv->pci_map_tx_address[index] != (dma_addr_t) NULL) {
|
||||||
/* entry is the last fragment of a frame
|
/* entry is the last fragment of a frame
|
||||||
|
@ -285,7 +284,7 @@ islpci_monitor_rx(islpci_private *priv, struct sk_buff **skb)
|
||||||
(struct avs_80211_1_header *) skb_push(*skb,
|
(struct avs_80211_1_header *) skb_push(*skb,
|
||||||
sizeof (struct
|
sizeof (struct
|
||||||
avs_80211_1_header));
|
avs_80211_1_header));
|
||||||
|
|
||||||
avs->version = cpu_to_be32(P80211CAPTURE_VERSION);
|
avs->version = cpu_to_be32(P80211CAPTURE_VERSION);
|
||||||
avs->length = cpu_to_be32(sizeof (struct avs_80211_1_header));
|
avs->length = cpu_to_be32(sizeof (struct avs_80211_1_header));
|
||||||
avs->mactime = cpu_to_be64(le64_to_cpu(clock));
|
avs->mactime = cpu_to_be64(le64_to_cpu(clock));
|
||||||
|
@ -391,7 +390,7 @@ islpci_eth_receive(islpci_private *priv)
|
||||||
struct rx_annex_header *annex =
|
struct rx_annex_header *annex =
|
||||||
(struct rx_annex_header *) skb->data;
|
(struct rx_annex_header *) skb->data;
|
||||||
wstats.level = annex->rfmon.rssi;
|
wstats.level = annex->rfmon.rssi;
|
||||||
/* The noise value can be a bit outdated if nobody's
|
/* The noise value can be a bit outdated if nobody's
|
||||||
* reading wireless stats... */
|
* reading wireless stats... */
|
||||||
wstats.noise = priv->local_iwstatistics.qual.noise;
|
wstats.noise = priv->local_iwstatistics.qual.noise;
|
||||||
wstats.qual = wstats.level - wstats.noise;
|
wstats.qual = wstats.level - wstats.noise;
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/*
|
/*
|
||||||
*
|
|
||||||
* Copyright (C) 2002 Intersil Americas Inc.
|
* Copyright (C) 2002 Intersil Americas Inc.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/*
|
/*
|
||||||
*
|
|
||||||
* Copyright (C) 2002 Intersil Americas Inc.
|
* Copyright (C) 2002 Intersil Americas Inc.
|
||||||
* Copyright (C) 2003 Herbert Valerio Riedel <hvr@gnu.org>
|
* Copyright (C) 2003 Herbert Valerio Riedel <hvr@gnu.org>
|
||||||
*
|
*
|
||||||
|
@ -40,8 +39,8 @@ static int init_pcitm = 0;
|
||||||
module_param(init_pcitm, int, 0);
|
module_param(init_pcitm, int, 0);
|
||||||
|
|
||||||
/* In this order: vendor, device, subvendor, subdevice, class, class_mask,
|
/* In this order: vendor, device, subvendor, subdevice, class, class_mask,
|
||||||
* driver_data
|
* driver_data
|
||||||
* If you have an update for this please contact prism54-devel@prism54.org
|
* If you have an update for this please contact prism54-devel@prism54.org
|
||||||
* The latest list can be found at http://prism54.org/supported_cards.php */
|
* The latest list can be found at http://prism54.org/supported_cards.php */
|
||||||
static const struct pci_device_id prism54_id_tbl[] = {
|
static const struct pci_device_id prism54_id_tbl[] = {
|
||||||
/* Intersil PRISM Duette/Prism GT Wireless LAN adapter */
|
/* Intersil PRISM Duette/Prism GT Wireless LAN adapter */
|
||||||
|
@ -132,15 +131,15 @@ prism54_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
||||||
|
|
||||||
/* 0x40 is the programmable timer to configure the response timeout (TRDY_TIMEOUT)
|
/* 0x40 is the programmable timer to configure the response timeout (TRDY_TIMEOUT)
|
||||||
* 0x41 is the programmable timer to configure the retry timeout (RETRY_TIMEOUT)
|
* 0x41 is the programmable timer to configure the retry timeout (RETRY_TIMEOUT)
|
||||||
* The RETRY_TIMEOUT is used to set the number of retries that the core, as a
|
* The RETRY_TIMEOUT is used to set the number of retries that the core, as a
|
||||||
* Master, will perform before abandoning a cycle. The default value for
|
* Master, will perform before abandoning a cycle. The default value for
|
||||||
* RETRY_TIMEOUT is 0x80, which far exceeds the PCI 2.1 requirement for new
|
* RETRY_TIMEOUT is 0x80, which far exceeds the PCI 2.1 requirement for new
|
||||||
* devices. A write of zero to the RETRY_TIMEOUT register disables this
|
* devices. A write of zero to the RETRY_TIMEOUT register disables this
|
||||||
* function to allow use with any non-compliant legacy devices that may
|
* function to allow use with any non-compliant legacy devices that may
|
||||||
* execute more retries.
|
* execute more retries.
|
||||||
*
|
*
|
||||||
* Writing zero to both these two registers will disable both timeouts and
|
* Writing zero to both these two registers will disable both timeouts and
|
||||||
* *can* solve problems caused by devices that are slow to respond.
|
* *can* solve problems caused by devices that are slow to respond.
|
||||||
* Make this configurable - MSW
|
* Make this configurable - MSW
|
||||||
*/
|
*/
|
||||||
if ( init_pcitm >= 0 ) {
|
if ( init_pcitm >= 0 ) {
|
||||||
|
@ -241,7 +240,7 @@ prism54_remove(struct pci_dev *pdev)
|
||||||
isl38xx_disable_interrupts(priv->device_base);
|
isl38xx_disable_interrupts(priv->device_base);
|
||||||
islpci_set_state(priv, PRV_STATE_OFF);
|
islpci_set_state(priv, PRV_STATE_OFF);
|
||||||
/* This bellow causes a lockup at rmmod time. It might be
|
/* This bellow causes a lockup at rmmod time. It might be
|
||||||
* because some interrupts still linger after rmmod time,
|
* because some interrupts still linger after rmmod time,
|
||||||
* see bug #17 */
|
* see bug #17 */
|
||||||
/* pci_set_power_state(pdev, 3);*/ /* try to power-off */
|
/* pci_set_power_state(pdev, 3);*/ /* try to power-off */
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/*
|
/*
|
||||||
*
|
|
||||||
* Copyright (C) 2002 Intersil Americas Inc.
|
* Copyright (C) 2002 Intersil Americas Inc.
|
||||||
* Copyright 2004 Jens Maurer <Jens.Maurer@gmx.net>
|
* Copyright 2004 Jens Maurer <Jens.Maurer@gmx.net>
|
||||||
*
|
*
|
||||||
|
@ -502,7 +501,7 @@ islpci_mgt_transaction(struct net_device *ndev,
|
||||||
printk(KERN_WARNING "%s: timeout waiting for mgmt response\n",
|
printk(KERN_WARNING "%s: timeout waiting for mgmt response\n",
|
||||||
ndev->name);
|
ndev->name);
|
||||||
|
|
||||||
/* TODO: we should reset the device here */
|
/* TODO: we should reset the device here */
|
||||||
out:
|
out:
|
||||||
finish_wait(&priv->mgmt_wqueue, &wait);
|
finish_wait(&priv->mgmt_wqueue, &wait);
|
||||||
up(&priv->mgmt_sem);
|
up(&priv->mgmt_sem);
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/*
|
/*
|
||||||
*
|
|
||||||
* Copyright (C) 2002 Intersil Americas Inc.
|
* Copyright (C) 2002 Intersil Americas Inc.
|
||||||
* Copyright (C) 2003 Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>
|
* Copyright (C) 2003 Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ extern int pc_debug;
|
||||||
|
|
||||||
|
|
||||||
/* General driver definitions */
|
/* General driver definitions */
|
||||||
#define PCIDEVICE_LATENCY_TIMER_MIN 0x40
|
#define PCIDEVICE_LATENCY_TIMER_MIN 0x40
|
||||||
#define PCIDEVICE_LATENCY_TIMER_VAL 0x50
|
#define PCIDEVICE_LATENCY_TIMER_VAL 0x50
|
||||||
|
|
||||||
/* Debugging verbose definitions */
|
/* Debugging verbose definitions */
|
||||||
#define SHOW_NOTHING 0x00 /* overrules everything */
|
#define SHOW_NOTHING 0x00 /* overrules everything */
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2003,2004 Aurelien Alleaume <slts@free.fr>
|
* Copyright (C) 2003,2004 Aurelien Alleaume <slts@free.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
@ -503,7 +503,7 @@ mgt_set_varlen(islpci_private *priv, enum oid_num_t n, void *data, int extra_len
|
||||||
}
|
}
|
||||||
if (ret || response_op == PIMFOR_OP_ERROR)
|
if (ret || response_op == PIMFOR_OP_ERROR)
|
||||||
ret = -EIO;
|
ret = -EIO;
|
||||||
} else
|
} else
|
||||||
ret = -EIO;
|
ret = -EIO;
|
||||||
|
|
||||||
/* re-set given data to what it was */
|
/* re-set given data to what it was */
|
||||||
|
@ -727,7 +727,7 @@ mgt_commit(islpci_private *priv)
|
||||||
* MEDIUMLIMIT,BEACONPERIOD,DTIMPERIOD,ATIMWINDOW,LISTENINTERVAL
|
* MEDIUMLIMIT,BEACONPERIOD,DTIMPERIOD,ATIMWINDOW,LISTENINTERVAL
|
||||||
* FREQUENCY,EXTENDEDRATES.
|
* FREQUENCY,EXTENDEDRATES.
|
||||||
*
|
*
|
||||||
* The way to do this is to set ESSID. Note though that they may get
|
* The way to do this is to set ESSID. Note though that they may get
|
||||||
* unlatch before though by setting another OID. */
|
* unlatch before though by setting another OID. */
|
||||||
#if 0
|
#if 0
|
||||||
void
|
void
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/*
|
/*
|
||||||
* (C) 2004 Margit Schubert-While <margitsw@t-online.de>
|
* (C) 2004 Margit Schubert-While <margitsw@t-online.de>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
@ -16,7 +16,7 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Compatibility header file to aid support of different kernel versions
|
* Compatibility header file to aid support of different kernel versions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
Reference in New Issue