pcwl.c revision 0dc2366f7b9f9f36e10909b1e95edbf2a261c2ac
2N/Astatic int pcwl_device_type;
NULL,
NULL,
NULL,
#ifdef __sparc
_init(void)
int stat;
return (stat);
return (stat);
_fini(void)
int stat;
return (stat);
return (stat);
char *buf;
return (DDI_PROBE_FAILURE);
return (ret);
int ret, i;
int instance;
goto attach_fail1;
goto attach_fail1;
goto attach_fail2;
goto attach_fail2a;
!= DDI_SUCCESS) {
goto attach_fail2a;
for (i = 0; i < WL_TIMEOUT; i++) {
if (i == WL_TIMEOUT) {
goto attach_fail3;
goto attach_fail3;
goto attach_fail3;
goto attach_fail3a;
goto attach_fail3a;
goto attach_fail3a;
goto attach_fail4;
goto attach_fail4;
goto attach_fail4;
if (err != 0) {
goto attach_fail4;
goto attach_fail5;
goto attach_fail5;
goto attach_fail6;
return (DDI_SUCCESS);
return (DDI_FAILURE);
int ret;
return (DDI_FAILURE);
return (DDI_FAILURE);
if (ret != 0)
return (DDI_FAILURE);
while (scan_item0) {
return (DDI_SUCCESS);
int ret;
goto regcs_ret;
goto regcs_unreg;
goto regcs_fail;
goto regcs_fail;
return (PCWL_SUCCESS);
return (ret);
int ret;
switch (event) {
case CS_EVENT_CARD_INSERTION:
case CS_EVENT_CARD_REMOVAL:
case CS_EVENT_CLIENT_INFO:
case CS_EVENT_PM_SUSPEND:
return (ret);
int ret;
goto insert_ret;
goto insert_ret;
goto insert_ret;
goto insert_ret;
goto insert_ret;
goto insert_ret;
hi = 0;
ret);
ret);
goto insert_ret;
goto insert_ret;
goto un_io;
goto un_irq;
return (CS_SUCCESS);
return (ret);
int ret;
return (PCWL_FAIL);
return (PCWL_SUCCESS);
goto done;
goto done;
goto done;
done:
if (ret)
return (ret);
while ((i < WL_XMT_BUF_NUM) &&
if (i == WL_XMT_BUF_NUM) {
return (PCWL_FAIL);
#ifdef DEBUG
#ifdef DEBUG
for (i = 0; i < pkt_len; i++)
*((unsigned char *)buf + i));
if (ret) {
goto done;
done:
return (PCWL_SUCCESS);
static mblk_t *
return (NULL);
return (mp);
goto done;
if (on)
done:
if (ret)
return (ret);
goto done;
goto done;
case PCWL_CHIP_PRISMII:
switch (rate) {
default: rate = 0; break;
case PCWL_CHIP_LUCENT:
switch (statitem) {
case MAC_STAT_IFSPEED:
case MAC_STAT_NOXMTBUF:
case MAC_STAT_NORCVBUF:
case MAC_STAT_IERRORS:
*val = 0;
case MAC_STAT_OERRORS:
case MAC_STAT_RBYTES:
case MAC_STAT_IPACKETS:
case MAC_STAT_OBYTES:
case MAC_STAT_OPACKETS:
case WIFI_STAT_TX_FAILED:
case WIFI_STAT_TX_RETRANS:
case WIFI_STAT_FCS_ERRORS:
case WIFI_STAT_WEP_ERRORS:
case WIFI_STAT_MCAST_TX:
case WIFI_STAT_MCAST_RX:
case WIFI_STAT_TX_FRAGS:
case WIFI_STAT_RX_FRAGS:
case WIFI_STAT_RTS_SUCCESS:
case WIFI_STAT_RTS_FAILURE:
case WIFI_STAT_ACK_FAILURE:
case WIFI_STAT_RX_DUPS:
*val = 0;
done:
return (ret);
uint16_t i;
goto done;
goto done;
goto done;
goto done;
mc_p[0] = 0;
done:
if (ret)
return (ret);
static uint_t
return (DDI_INTR_UNCLAIMED);
return (DDI_INTR_UNCLAIMED);
return (DDI_INTR_CLAIMED);
static uint_t
return (DDI_INTR_UNCLAIMED);
return (DDI_INTR_UNCLAIMED);
return (DDI_INTR_CLAIMED);
if (!mp)
goto done;
goto done;
goto done;
#ifdef DEBUG
for (i = 0; i < WL_802_11_HDRLEN; i++)
case WL_STAT_1042:
case WL_STAT_TUNNEL:
case WL_STAT_WMP_MSG:
sizeof (struct ieee80211_frame));
goto done;
sizeof (struct ieee80211_frame));
sizeof (struct ieee80211_llc));
sizeof (struct ieee80211_llc));
goto done;
len++;
done:
if (ret) {
#ifdef DEBUG
static uint32_t
for (i = 0; i < WL_XMT_BUF_NUM; i++) {
if (i == WL_XMT_BUF_NUM)
return (PCWL_FAIL);
return (PCWL_SUCCESS);
ret));
case WL_INFO_LINK_STAT:
sizeof (linkStat));
#ifdef DEBUG
sizeof (wd));
#ifdef DEBUG
linkStat));
case WL_INFO_SCAN_RESULTS:
case WL_INFO_HSCAN_RESULTS:
case WL_INFO_COUNTERS:
linkStatus[0]--;
for (i = 0; i < WLC_STAT_CNT; i++)
static uint16_t
return (PCWL_SUCCESS);
for (i = 0; i < WL_TIMEOUT; i++) {
if (i == WL_TIMEOUT) {
return (PCWL_TIMEDOUT_CMD);
for (i = 0; i < WL_TIMEOUT; i++) {
if (i == WL_TIMEOUT) {
return (PCWL_TIMEDOUT_CMD);
return (PCWL_FAILURE_CMD);
return (PCWL_SUCCESS);
static uint16_t
if (channel) {
if (i == WL_TIMEOUT) {
return (PCWL_TIMEDOUT_TARGET);
return (PCWL_SUCCESS);
static uint16_t
return (stat);
return (stat);
return (PCWL_BADTYPE);
return (PCWL_SUCCESS);
static uint16_t
return (stat);
static uint16_t
return (stat);
static uint16_t
static uint16_t
uint16_t o;
return (type);
o = WL_DATA1;
return (type);
o = WL_DATA0;
return (PCWL_SUCCESS);
static uint16_t
return (type);
return (PCWL_SUCCESS);
static uint16_t
return (stat);
if (i == WL_TIMEOUT)
return (PCWL_TIMEDOUT_ALLOC);
return (PCWL_SUCCESS);
return (PCWL_FAIL);
return (PCWL_SUCCESS);
kmem_free(s, sizeof (*s));
for (; scan_item0; ) {
for (; scan_item0; ) {
case PCWL_CHIP_PRISMII:
case PCWL_CHIP_LUCENT:
for (i = 0; i < ssidNum; i++) {
#ifdef DEBUG
for (j = 0; j < sizeof (sctbl); j++)
check_num = 0;
for (; scan_item0; ) {
check_num++;
return ((int)ret);
return ((int)ret);
return (PCWL_SUCCESS);
return ((int)stat);
return ((int)stat);
return ((int)stat);
return (PCWL_SUCCESS);
for (i = 0; i < WL_XMT_BUF_NUM; i++) {
if (ret) {
return (PCWL_FAIL);
if (ret) {
return (PCWL_FAIL);
return (PCWL_SUCCESS);
case PCWL_CHIP_PRISMII:
porttype = 0;
porttype = 0;
case PCWL_CHIP_LUCENT:
goto done;
case PCWL_CHIP_PRISMII: {
if (k_len == 0)
case PCWL_CHIP_LUCENT:
done:
return (PCWL_SUCCESS);
int ret;
if (ret) {
return (PCWL_FAIL);
return (PCWL_SUCCESS);
bzero(&f, sizeof (f));
char *value;
return (ENETRESET);
int len;
int err = 0;
if (ret) {
return (err);
switch (val) {
case WL_PORT_DISABLED:
case WL_PORT_INITIAL:
len);
case WL_PORT_TO_IBSS:
case WL_PORT_TO_BSS:
case WL_PORT_OOR:
return (err);
int err = 0;
return (err);
return (err);
int err = 0;
if (ret) {
return (err);
switch (retval) {
case WL_PORT_DISABLED:
case WL_PORT_INITIAL:
case WL_PORT_TO_IBSS:
case WL_PORT_TO_BSS:
case WL_PORT_OOR:
return (err);
return (err);
return (err);
return (err);
return (err);
int err = 0;
return (err);
return (err);
char maxrate;
uint16_t i;
switch (rates[0]) {
case WL_RATE_1M:
case WL_RATE_2M:
case WL_RATE_11M:
case WL_RATE_5_5M:
switch (maxrate) {
case WL_RATE_2M:
case WL_RATE_11M:
case WL_RATE_5_5M:
switch (maxrate) {
case WL_RATE_11M:
case WL_RATE_5_5M:
return (err);
int err = 0;
return (err);
switch (rate) {
case WL_SPEED_1Mbps_P2:
case WL_SPEED_2Mbps_P2:
case WL_SPEED_55Mbps_P2:
case WL_SPEED_11Mbps_P2:
switch (rate) {
case WL_L_TX_RATE_FIX_1M:
case WL_L_TX_RATE_FIX_2M:
case WL_L_TX_RATE_AUTO_H:
case WL_L_TX_RATE_FIX_5M:
case WL_L_TX_RATE_FIX_11M:
case WL_L_TX_RATE_AUTO_L:
case WL_L_TX_RATE_AUTO_M:
return (err);
int err = 0;
return (err);
return (err);
return (err);
return (err);
return (err);
return (err);
return (err);
return (err);
uint16_t i;
for (i = 0; i < MAX_NWEPKEYS; i++) {
return (ENETRESET);
uint16_t i;
if (!scan_item)
i * sizeof (wl_ess_conf_t));
= WL_DSSS;
uint16_t i;
char *buf;
int iret;
int err = 0;
MAX_BUF_LEN));
return (ENOMEM);
goto done;
return (EINVAL);
done:
return (iret);
uint16_t i;
int iret;
char *buf;
int err = 0;
MAX_BUF_LEN));
return (ENOMEM);
goto done;
return (EINVAL);
done:
return (iret);
if ((enable) &&
goto done;
if ((enable) &&
goto done;
goto done;
case PCWL_CHIP_PRISMII:
for (i = 0; i < WL_MAX_SCAN_TIMES; i++) {
case PCWL_CHIP_LUCENT:
for (i = 0; i < WL_MAX_SCAN_TIMES; i++) {
goto done;
goto done;
goto done;
goto done;
done:
if (ret)
return (ret);
char *buf;
uint16_t i;
MAX_BUF_LEN));
return (ENOMEM);
return (WL_SUCCESS);
char *buf;
int iret;
int err = 0;
MAX_BUF_LEN));
return (ENOMEM);
goto done;
sizeof (wl_linkstatus_t);
sizeof (wl_linkstatus_t);
done:
return (iret);
uint16_t i;
char *buf;
int iret;
int err = 0;
MAX_BUF_LEN));
return (ENOMEM);
goto done;
return (EINVAL);
done:
return (iret);
uint16_t i;
char *buf;
int iret;
int err = 0;
MAX_BUF_LEN));
return (ENOMEM);
goto done;
goto done;
return (EINVAL);
done:
return (iret);
uint16_t i;
char *buf;
int iret;
int err = 0;
MAX_BUF_LEN));
return (ENOMEM);
goto done;
switch (rate) {
case WL_L_TX_RATE_FIX_1M:
case WL_L_TX_RATE_FIX_2M:
case WL_L_TX_RATE_AUTO_H:
case WL_L_TX_RATE_FIX_5M:
case WL_L_TX_RATE_FIX_11M:
case WL_L_TX_RATE_AUTO_L:
case WL_L_TX_RATE_AUTO_M:
goto done;
goto done;
return (EINVAL);
done:
return (iret);
uint16_t i;
char *buf;
MAX_BUF_LEN));
return (ENOMEM);
return (WL_SUCCESS);
return (EINVAL);
uint16_t i;
char *buf;
int iret;
int err = 0;
MAX_BUF_LEN));
return (ENOMEM);
goto done;
return (EINVAL);
done:
return (iret);
uint16_t i;
char *buf;
int iret;
int err = 0;
MAX_BUF_LEN));
return (ENOMEM);
goto done;
return (EINVAL);
done:
return (iret);
uint16_t i;
char *buf;
int iret;
int err = 0;
MAX_BUF_LEN));
return (ENOMEM);
goto done;
return (EINVAL);
done:
return (iret);
char *buf;
int iret;
MAX_BUF_LEN));
return (ENOMEM);
goto done;
return (EINVAL);
done:
return (iret);
uint16_t i;
char *buf;
int iret;
int err = 0;
MAX_BUF_LEN));
return (ENOMEM);
goto done;
return (EINVAL);
done:
return (iret);
uint16_t i;
int iret;
char *buf;
MAX_BUF_LEN));
return (ENOMEM);
return (EINVAL);
done:
return (iret);
uint16_t i;
int iret;
char *buf;
MAX_BUF_LEN));
return (ENOMEM);
return (EINVAL);
return (iret);
uint16_t i;
char *buf;
int iret;
MAX_BUF_LEN));
return (ENOMEM);
return (EINVAL);
done:
return (iret);
goto done;
goto done;
goto done;
done:
if (ret)
int connect = 0;
return (PCWL_FAIL);
case WL_ESSID:
case WL_BSSID:
case WL_ESS_LIST:
case WL_LINKSTATUS:
case WL_BSS_TYPE:
case WL_PHY_CONFIG:
case WL_DESIRED_RATES:
case WL_SUPPORTED_RATES:
case WL_POWER_MODE:
case WL_AUTH_MODE:
case WL_ENCRYPTION:
case WL_WEP_KEY_ID:
case WL_CREATE_IBSS:
case WL_RSSI:
case WL_RADIO:
case WL_WEP_KEY_TAB:
case WL_SCAN:
case WL_LOAD_DEFAULTS:
case WL_DISASSOCIATE:
case WL_REASSOCIATE:
case WL_ASSOCIAT:
return (ret);
switch (cmd) {
case WLAN_GET_PARAM:
case WLAN_SET_PARAM:
case WLAN_COMMAND:
int err = 0;
return (err);
switch (wldp_pr_num) {
case MAC_PROP_WL_ESSID:
case MAC_PROP_WL_PHY_CONFIG:
case MAC_PROP_WL_KEY_TAB:
case MAC_PROP_WL_AUTH_MODE:
case MAC_PROP_WL_ENCRYPTION:
case MAC_PROP_WL_BSSTYPE:
case MAC_PROP_WL_POWER_MODE:
case MAC_PROP_WL_CREATE_IBSS:
case MAC_PROP_WL_BSSID:
case MAC_PROP_WL_RADIO:
case MAC_PROP_WL_WPA:
case MAC_PROP_WL_KEY:
case MAC_PROP_WL_DELKEY:
case MAC_PROP_WL_SETOPTIE:
case MAC_PROP_WL_MLME:
case MAC_PROP_WL_LINKSTATUS:
case MAC_PROP_WL_ESS_LIST:
case MAC_PROP_WL_RSSI:
case MAC_PROP_WL_CAPABILITY:
case MAC_PROP_WL_SCANRESULTS:
err = 0;
return (err);
int err = 0;
return (err);
switch (wldp_pr_num) {
case MAC_PROP_WL_ESSID:
case MAC_PROP_WL_BSSID:
case MAC_PROP_WL_PHY_CONFIG:
case MAC_PROP_WL_AUTH_MODE:
case MAC_PROP_WL_ENCRYPTION:
case MAC_PROP_WL_BSSTYPE:
case MAC_PROP_WL_LINKSTATUS:
case MAC_PROP_WL_ESS_LIST:
case MAC_PROP_WL_RSSI:
case MAC_PROP_WL_RADIO:
case MAC_PROP_WL_POWER_MODE:
case MAC_PROP_WL_CREATE_IBSS:
case MAC_PROP_WL_CAPABILITY:
case MAC_PROP_WL_WPA:
case MAC_PROP_WL_SCANRESULTS:
case MAC_PROP_WL_KEY_TAB:
case MAC_PROP_WL_KEY:
case MAC_PROP_WL_DELKEY:
case MAC_PROP_WL_SETOPTIE:
case MAC_PROP_WL_MLME:
return (err);
switch (wlpd_pr_num) {
case MAC_PROP_WL_LINKSTATUS:
case MAC_PROP_WL_ESS_LIST:
case MAC_PROP_WL_RSSI:
#ifndef __sparc
return (DDI_FAILURE);
return (DDI_SUCCESS);