staging: brcm80211: replace error codes part 2
Replacing part of the proprietary error code values with native error code values. Cc: devel@linuxdriverproject.org Cc: linux-wireless@vger.kernel.org Cc: Brett Rudley <brudley@broadcom.com> Cc: Henry Ptasinski <henryp@broadcom.com> Cc: Roland Vossen <rvossen@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
e10d82d47d
commit
b74ac12ecd
16 changed files with 135 additions and 212 deletions
|
@ -126,7 +126,7 @@ int bcmsdh_intr_enable(void *sdh)
|
||||||
ASSERT(bcmsdh);
|
ASSERT(bcmsdh);
|
||||||
|
|
||||||
status = sdioh_interrupt_set(bcmsdh->sdioh, true);
|
status = sdioh_interrupt_set(bcmsdh->sdioh, true);
|
||||||
return SDIOH_API_SUCCESS(status) ? 0 : -BCME_ERROR;
|
return SDIOH_API_SUCCESS(status) ? 0 : -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
int bcmsdh_intr_disable(void *sdh)
|
int bcmsdh_intr_disable(void *sdh)
|
||||||
|
@ -136,7 +136,7 @@ int bcmsdh_intr_disable(void *sdh)
|
||||||
ASSERT(bcmsdh);
|
ASSERT(bcmsdh);
|
||||||
|
|
||||||
status = sdioh_interrupt_set(bcmsdh->sdioh, false);
|
status = sdioh_interrupt_set(bcmsdh->sdioh, false);
|
||||||
return SDIOH_API_SUCCESS(status) ? 0 : -BCME_ERROR;
|
return SDIOH_API_SUCCESS(status) ? 0 : -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
int bcmsdh_intr_reg(void *sdh, bcmsdh_cb_fn_t fn, void *argh)
|
int bcmsdh_intr_reg(void *sdh, bcmsdh_cb_fn_t fn, void *argh)
|
||||||
|
@ -146,7 +146,7 @@ int bcmsdh_intr_reg(void *sdh, bcmsdh_cb_fn_t fn, void *argh)
|
||||||
ASSERT(bcmsdh);
|
ASSERT(bcmsdh);
|
||||||
|
|
||||||
status = sdioh_interrupt_register(bcmsdh->sdioh, fn, argh);
|
status = sdioh_interrupt_register(bcmsdh->sdioh, fn, argh);
|
||||||
return SDIOH_API_SUCCESS(status) ? 0 : -BCME_ERROR;
|
return SDIOH_API_SUCCESS(status) ? 0 : -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
int bcmsdh_intr_dereg(void *sdh)
|
int bcmsdh_intr_dereg(void *sdh)
|
||||||
|
@ -156,7 +156,7 @@ int bcmsdh_intr_dereg(void *sdh)
|
||||||
ASSERT(bcmsdh);
|
ASSERT(bcmsdh);
|
||||||
|
|
||||||
status = sdioh_interrupt_deregister(bcmsdh->sdioh);
|
status = sdioh_interrupt_deregister(bcmsdh->sdioh);
|
||||||
return SDIOH_API_SUCCESS(status) ? 0 : -BCME_ERROR;
|
return SDIOH_API_SUCCESS(status) ? 0 : -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(DHD_DEBUG)
|
#if defined(DHD_DEBUG)
|
||||||
|
@ -204,7 +204,7 @@ u8 bcmsdh_cfg_read(void *sdh, uint fnc_num, u32 addr, int *err)
|
||||||
&& (retry++ < SDIOH_API_ACCESS_RETRY_LIMIT));
|
&& (retry++ < SDIOH_API_ACCESS_RETRY_LIMIT));
|
||||||
#endif
|
#endif
|
||||||
if (err)
|
if (err)
|
||||||
*err = (SDIOH_API_SUCCESS(status) ? 0 : -BCME_SDIO_ERROR);
|
*err = (SDIOH_API_SUCCESS(status) ? 0 : -EIO);
|
||||||
|
|
||||||
BCMSDH_INFO(("%s:fun = %d, addr = 0x%x, u8data = 0x%x\n",
|
BCMSDH_INFO(("%s:fun = %d, addr = 0x%x, u8data = 0x%x\n",
|
||||||
__func__, fnc_num, addr, data));
|
__func__, fnc_num, addr, data));
|
||||||
|
@ -239,7 +239,7 @@ bcmsdh_cfg_write(void *sdh, uint fnc_num, u32 addr, u8 data, int *err)
|
||||||
&& (retry++ < SDIOH_API_ACCESS_RETRY_LIMIT));
|
&& (retry++ < SDIOH_API_ACCESS_RETRY_LIMIT));
|
||||||
#endif
|
#endif
|
||||||
if (err)
|
if (err)
|
||||||
*err = SDIOH_API_SUCCESS(status) ? 0 : -BCME_SDIO_ERROR;
|
*err = SDIOH_API_SUCCESS(status) ? 0 : -EIO;
|
||||||
|
|
||||||
BCMSDH_INFO(("%s:fun = %d, addr = 0x%x, u8data = 0x%x\n",
|
BCMSDH_INFO(("%s:fun = %d, addr = 0x%x, u8data = 0x%x\n",
|
||||||
__func__, fnc_num, addr, data));
|
__func__, fnc_num, addr, data));
|
||||||
|
@ -261,7 +261,7 @@ u32 bcmsdh_cfg_read_word(void *sdh, uint fnc_num, u32 addr, int *err)
|
||||||
fnc_num, addr, &data, 4);
|
fnc_num, addr, &data, 4);
|
||||||
|
|
||||||
if (err)
|
if (err)
|
||||||
*err = (SDIOH_API_SUCCESS(status) ? 0 : -BCME_SDIO_ERROR);
|
*err = (SDIOH_API_SUCCESS(status) ? 0 : -EIO);
|
||||||
|
|
||||||
BCMSDH_INFO(("%s:fun = %d, addr = 0x%x, u32data = 0x%x\n",
|
BCMSDH_INFO(("%s:fun = %d, addr = 0x%x, u32data = 0x%x\n",
|
||||||
__func__, fnc_num, addr, data));
|
__func__, fnc_num, addr, data));
|
||||||
|
@ -286,7 +286,7 @@ bcmsdh_cfg_write_word(void *sdh, uint fnc_num, u32 addr, u32 data,
|
||||||
SDIOH_WRITE, fnc_num, addr, &data, 4);
|
SDIOH_WRITE, fnc_num, addr, &data, 4);
|
||||||
|
|
||||||
if (err)
|
if (err)
|
||||||
*err = (SDIOH_API_SUCCESS(status) ? 0 : -BCME_SDIO_ERROR);
|
*err = (SDIOH_API_SUCCESS(status) ? 0 : -EIO);
|
||||||
|
|
||||||
BCMSDH_INFO(("%s:fun = %d, addr = 0x%x, u32data = 0x%x\n",
|
BCMSDH_INFO(("%s:fun = %d, addr = 0x%x, u32data = 0x%x\n",
|
||||||
__func__, fnc_num, addr, data));
|
__func__, fnc_num, addr, data));
|
||||||
|
@ -329,7 +329,7 @@ int bcmsdh_cis_read(void *sdh, uint func, u8 * cis, uint length)
|
||||||
kfree(tmp_buf);
|
kfree(tmp_buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
return SDIOH_API_SUCCESS(status) ? 0 : -BCME_ERROR;
|
return SDIOH_API_SUCCESS(status) ? 0 : -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int bcmsdhsdio_set_sbaddr_window(void *sdh, u32 address)
|
static int bcmsdhsdio_set_sbaddr_window(void *sdh, u32 address)
|
||||||
|
@ -488,7 +488,7 @@ bcmsdh_recv_buf(void *sdh, u32 addr, uint fn, uint flags,
|
||||||
SDIOH_READ, fn, addr, width, nbytes, buf,
|
SDIOH_READ, fn, addr, width, nbytes, buf,
|
||||||
pkt);
|
pkt);
|
||||||
|
|
||||||
return SDIOH_API_SUCCESS(status) ? 0 : -BCME_SDIO_ERROR;
|
return SDIOH_API_SUCCESS(status) ? 0 : -EIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
@ -533,7 +533,7 @@ bcmsdh_send_buf(void *sdh, u32 addr, uint fn, uint flags,
|
||||||
SDIOH_WRITE, fn, addr, width, nbytes, buf,
|
SDIOH_WRITE, fn, addr, width, nbytes, buf,
|
||||||
pkt);
|
pkt);
|
||||||
|
|
||||||
return SDIOH_API_SUCCESS(status) ? 0 : -BCME_ERROR;
|
return SDIOH_API_SUCCESS(status) ? 0 : -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
int bcmsdh_rwdata(void *sdh, uint rw, u32 addr, u8 *buf, uint nbytes)
|
int bcmsdh_rwdata(void *sdh, uint rw, u32 addr, u8 *buf, uint nbytes)
|
||||||
|
@ -553,7 +553,7 @@ int bcmsdh_rwdata(void *sdh, uint rw, u32 addr, u8 *buf, uint nbytes)
|
||||||
(rw ? SDIOH_WRITE : SDIOH_READ), SDIO_FUNC_1,
|
(rw ? SDIOH_WRITE : SDIOH_READ), SDIO_FUNC_1,
|
||||||
addr, 4, nbytes, buf, NULL);
|
addr, 4, nbytes, buf, NULL);
|
||||||
|
|
||||||
return SDIOH_API_SUCCESS(status) ? 0 : -BCME_ERROR;
|
return SDIOH_API_SUCCESS(status) ? 0 : -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
int bcmsdh_abort(void *sdh, uint fn)
|
int bcmsdh_abort(void *sdh, uint fn)
|
||||||
|
|
|
@ -656,7 +656,7 @@ sdioh_iovar_op(sdioh_info_t *si, const char *name,
|
||||||
|
|
||||||
if (sdioh_cfg_read
|
if (sdioh_cfg_read
|
||||||
(si, sd_ptr->func, sd_ptr->offset, &data)) {
|
(si, sd_ptr->func, sd_ptr->offset, &data)) {
|
||||||
bcmerror = -BCME_SDIO_ERROR;
|
bcmerror = -EIO;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -672,7 +672,7 @@ sdioh_iovar_op(sdioh_info_t *si, const char *name,
|
||||||
|
|
||||||
if (sdioh_cfg_write
|
if (sdioh_cfg_write
|
||||||
(si, sd_ptr->func, sd_ptr->offset, &data)) {
|
(si, sd_ptr->func, sd_ptr->offset, &data)) {
|
||||||
bcmerror = -BCME_SDIO_ERROR;
|
bcmerror = -EIO;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -357,7 +357,7 @@ int dhd_prot_hdrpull(dhd_pub_t *dhd, int *ifidx, struct sk_buff *pktbuf)
|
||||||
if (pktbuf->len < BDC_HEADER_LEN) {
|
if (pktbuf->len < BDC_HEADER_LEN) {
|
||||||
DHD_ERROR(("%s: rx data too short (%d < %d)\n", __func__,
|
DHD_ERROR(("%s: rx data too short (%d < %d)\n", __func__,
|
||||||
pktbuf->len, BDC_HEADER_LEN));
|
pktbuf->len, BDC_HEADER_LEN));
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
h = (struct bdc_header *)(pktbuf->data);
|
h = (struct bdc_header *)(pktbuf->data);
|
||||||
|
@ -366,14 +366,14 @@ int dhd_prot_hdrpull(dhd_pub_t *dhd, int *ifidx, struct sk_buff *pktbuf)
|
||||||
if (*ifidx >= DHD_MAX_IFS) {
|
if (*ifidx >= DHD_MAX_IFS) {
|
||||||
DHD_ERROR(("%s: rx data ifnum out of range (%d)\n",
|
DHD_ERROR(("%s: rx data ifnum out of range (%d)\n",
|
||||||
__func__, *ifidx));
|
__func__, *ifidx));
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (((h->flags & BDC_FLAG_VER_MASK) >> BDC_FLAG_VER_SHIFT) !=
|
if (((h->flags & BDC_FLAG_VER_MASK) >> BDC_FLAG_VER_SHIFT) !=
|
||||||
BDC_PROTO_VER) {
|
BDC_PROTO_VER) {
|
||||||
DHD_ERROR(("%s: non-BDC packet received, flags 0x%x\n",
|
DHD_ERROR(("%s: non-BDC packet received, flags 0x%x\n",
|
||||||
dhd_ifname(dhd, *ifidx), h->flags));
|
dhd_ifname(dhd, *ifidx), h->flags));
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (h->flags & BDC_FLAG_SUM_GOOD) {
|
if (h->flags & BDC_FLAG_SUM_GOOD) {
|
||||||
|
|
|
@ -815,14 +815,14 @@ wl_host_event(struct dhd_info *dhd, int *ifidx, void *pktdata,
|
||||||
|
|
||||||
if (memcmp(BRCM_OUI, &pvt_data->bcm_hdr.oui[0], DOT11_OUI_LEN)) {
|
if (memcmp(BRCM_OUI, &pvt_data->bcm_hdr.oui[0], DOT11_OUI_LEN)) {
|
||||||
DHD_ERROR(("%s: mismatched OUI, bailing\n", __func__));
|
DHD_ERROR(("%s: mismatched OUI, bailing\n", __func__));
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* BRCM event pkt may be unaligned - use xxx_ua to load user_subtype. */
|
/* BRCM event pkt may be unaligned - use xxx_ua to load user_subtype. */
|
||||||
if (get_unaligned_be16(&pvt_data->bcm_hdr.usr_subtype) !=
|
if (get_unaligned_be16(&pvt_data->bcm_hdr.usr_subtype) !=
|
||||||
BCMILCP_BCM_SUBTYPE_EVENT) {
|
BCMILCP_BCM_SUBTYPE_EVENT) {
|
||||||
DHD_ERROR(("%s: mismatched subtype, bailing\n", __func__));
|
DHD_ERROR(("%s: mismatched subtype, bailing\n", __func__));
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
*data_ptr = &pvt_data[1];
|
*data_ptr = &pvt_data[1];
|
||||||
|
|
|
@ -1619,51 +1619,6 @@ static int dhd_ethtool(dhd_info_t *dhd, void *uaddr)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static s16 linuxbcmerrormap[] = { 0, /* 0 */
|
|
||||||
-EINVAL, /* -BCME_ERROR */
|
|
||||||
-EINVAL, /* -BCME_BADARG */
|
|
||||||
-EINVAL, /* -BCME_BADOPTION */
|
|
||||||
-EINVAL, /* -BCME_NOTUP */
|
|
||||||
-EINVAL, /* -BCME_NOTDOWN */
|
|
||||||
-EINVAL, /* -BCME_NOTAP */
|
|
||||||
-EINVAL, /* -BCME_NOTSTA */
|
|
||||||
-EINVAL, /* -BCME_BADKEYIDX */
|
|
||||||
-EINVAL, /* -BCME_RADIOOFF */
|
|
||||||
-EINVAL, /* -BCME_NOTBANDLOCKED */
|
|
||||||
-EINVAL, /* -BCME_NOCLK */
|
|
||||||
-EINVAL, /* -BCME_BADRATESET */
|
|
||||||
-EINVAL, /* -BCME_BADBAND */
|
|
||||||
-E2BIG, /* -BCME_BUFTOOSHORT */
|
|
||||||
-E2BIG, /* -BCME_BUFTOOLONG */
|
|
||||||
-EBUSY, /* -BCME_BUSY */
|
|
||||||
-EINVAL, /* -BCME_NOTASSOCIATED */
|
|
||||||
-EINVAL, /* -BCME_BADSSIDLEN */
|
|
||||||
-EINVAL, /* -BCME_OUTOFRANGECHAN */
|
|
||||||
-EINVAL, /* -BCME_BADCHAN */
|
|
||||||
-EFAULT, /* -BCME_BADADDR */
|
|
||||||
-ENOMEM, /* -BCME_NORESOURCE */
|
|
||||||
-EOPNOTSUPP, /* -BCME_UNSUPPORTED */
|
|
||||||
-EMSGSIZE, /* -BCME_BADLENGTH */
|
|
||||||
-EINVAL, /* -BCME_NOTREADY */
|
|
||||||
-EPERM, /* -BCME_NOTPERMITTED */
|
|
||||||
-ENOMEM, /* -BCME_NOMEM */
|
|
||||||
-EINVAL, /* -BCME_ASSOCIATED */
|
|
||||||
-ERANGE, /* -BCME_RANGE */
|
|
||||||
-EINVAL, /* -BCME_NOTFOUND */
|
|
||||||
-EINVAL, /* -BCME_WME_NOT_ENABLED */
|
|
||||||
-EINVAL, /* -BCME_TSPEC_NOTFOUND */
|
|
||||||
-EINVAL, /* -BCME_ACM_NOTSUPPORTED */
|
|
||||||
-EINVAL, /* -BCME_NOT_WME_ASSOCIATION */
|
|
||||||
-EIO, /* -BCME_SDIO_ERROR */
|
|
||||||
-ENODEV, /* -BCME_DONGLE_DOWN */
|
|
||||||
-EINVAL, /* -BCME_VERSION */
|
|
||||||
-EIO, /* -BCME_TXFAIL */
|
|
||||||
-EIO, /* -BCME_RXFAIL */
|
|
||||||
-EINVAL, /* -BCME_NODEVICE */
|
|
||||||
-EINVAL, /* -BCME_NMODE_DISABLED */
|
|
||||||
-ENODATA, /* -BCME_NONRESIDENT */
|
|
||||||
};
|
|
||||||
|
|
||||||
static int dhd_ioctl_entry(struct net_device *net, struct ifreq *ifr, int cmd)
|
static int dhd_ioctl_entry(struct net_device *net, struct ifreq *ifr, int cmd)
|
||||||
{
|
{
|
||||||
dhd_info_t *dhd = *(dhd_info_t **) netdev_priv(net);
|
dhd_info_t *dhd = *(dhd_info_t **) netdev_priv(net);
|
||||||
|
@ -1748,12 +1703,12 @@ static int dhd_ioctl_entry(struct net_device *net, struct ifreq *ifr, int cmd)
|
||||||
/* send to dongle (must be up, and wl) */
|
/* send to dongle (must be up, and wl) */
|
||||||
if ((dhd->pub.busstate != DHD_BUS_DATA)) {
|
if ((dhd->pub.busstate != DHD_BUS_DATA)) {
|
||||||
DHD_ERROR(("%s DONGLE_DOWN,__func__\n", __func__));
|
DHD_ERROR(("%s DONGLE_DOWN,__func__\n", __func__));
|
||||||
bcmerror = -BCME_DONGLE_DOWN;
|
bcmerror = -EIO;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!dhd->pub.iswl) {
|
if (!dhd->pub.iswl) {
|
||||||
bcmerror = -BCME_DONGLE_DOWN;
|
bcmerror = -EIO;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1781,10 +1736,8 @@ done:
|
||||||
|
|
||||||
if (bcmerror > 0)
|
if (bcmerror > 0)
|
||||||
bcmerror = 0;
|
bcmerror = 0;
|
||||||
else if (bcmerror < -BCME_LAST)
|
|
||||||
bcmerror = -BCME_ERROR;
|
|
||||||
|
|
||||||
return linuxbcmerrormap[-bcmerror];
|
return bcmerror;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int dhd_stop(struct net_device *net)
|
static int dhd_stop(struct net_device *net)
|
||||||
|
@ -2280,7 +2233,7 @@ int dhd_net_attach(dhd_pub_t *dhdp, int ifidx)
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
net->netdev_ops = NULL;
|
net->netdev_ops = NULL;
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void dhd_bus_detach(dhd_pub_t *dhdp)
|
void dhd_bus_detach(dhd_pub_t *dhdp)
|
||||||
|
|
|
@ -541,7 +541,7 @@ static int dhdsdio_htclk(dhd_bus_t *bus, bool on, bool pendok)
|
||||||
if (err) {
|
if (err) {
|
||||||
DHD_ERROR(("%s: HT Avail request error: %d\n",
|
DHD_ERROR(("%s: HT Avail request error: %d\n",
|
||||||
__func__, err));
|
__func__, err));
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pendok && ((bus->ci->buscoretype == PCMCIA_CORE_ID)
|
if (pendok && ((bus->ci->buscoretype == PCMCIA_CORE_ID)
|
||||||
|
@ -557,7 +557,7 @@ static int dhdsdio_htclk(dhd_bus_t *bus, bool on, bool pendok)
|
||||||
if (err) {
|
if (err) {
|
||||||
DHD_ERROR(("%s: HT Avail read error: %d\n",
|
DHD_ERROR(("%s: HT Avail read error: %d\n",
|
||||||
__func__, err));
|
__func__, err));
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Go to pending and await interrupt if appropriate */
|
/* Go to pending and await interrupt if appropriate */
|
||||||
|
@ -569,7 +569,7 @@ static int dhdsdio_htclk(dhd_bus_t *bus, bool on, bool pendok)
|
||||||
if (err) {
|
if (err) {
|
||||||
DHD_ERROR(("%s: Devctl error setting CA: %d\n",
|
DHD_ERROR(("%s: Devctl error setting CA: %d\n",
|
||||||
__func__, err));
|
__func__, err));
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
devctl |= SBSDIO_DEVCTL_CA_INT_ONLY;
|
devctl |= SBSDIO_DEVCTL_CA_INT_ONLY;
|
||||||
|
@ -602,12 +602,12 @@ static int dhdsdio_htclk(dhd_bus_t *bus, bool on, bool pendok)
|
||||||
if (err) {
|
if (err) {
|
||||||
DHD_ERROR(("%s: HT Avail request error: %d\n",
|
DHD_ERROR(("%s: HT Avail request error: %d\n",
|
||||||
__func__, err));
|
__func__, err));
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
if (!SBSDIO_CLKAV(clkctl, bus->alp_only)) {
|
if (!SBSDIO_CLKAV(clkctl, bus->alp_only)) {
|
||||||
DHD_ERROR(("%s: HT Avail timeout (%d): clkctl 0x%02x\n",
|
DHD_ERROR(("%s: HT Avail timeout (%d): clkctl 0x%02x\n",
|
||||||
__func__, PMU_MAX_TRANSITION_DLY, clkctl));
|
__func__, PMU_MAX_TRANSITION_DLY, clkctl));
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Mark clock available */
|
/* Mark clock available */
|
||||||
|
@ -651,7 +651,7 @@ static int dhdsdio_htclk(dhd_bus_t *bus, bool on, bool pendok)
|
||||||
if (err) {
|
if (err) {
|
||||||
DHD_ERROR(("%s: Failed access turning clock off: %d\n",
|
DHD_ERROR(("%s: Failed access turning clock off: %d\n",
|
||||||
__func__, err));
|
__func__, err));
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -674,7 +674,7 @@ static int dhdsdio_sdclk(dhd_bus_t *bus, bool on)
|
||||||
if (err) {
|
if (err) {
|
||||||
DHD_ERROR(("%s: error enabling sd_clock: %d\n",
|
DHD_ERROR(("%s: error enabling sd_clock: %d\n",
|
||||||
__func__, err));
|
__func__, err));
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
iovalue = bus->sd_mode;
|
iovalue = bus->sd_mode;
|
||||||
|
@ -683,7 +683,7 @@ static int dhdsdio_sdclk(dhd_bus_t *bus, bool on)
|
||||||
if (err) {
|
if (err) {
|
||||||
DHD_ERROR(("%s: error changing sd_mode: %d\n",
|
DHD_ERROR(("%s: error changing sd_mode: %d\n",
|
||||||
__func__, err));
|
__func__, err));
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
} else if (bus->idleclock != DHD_IDLE_ACTIVE) {
|
} else if (bus->idleclock != DHD_IDLE_ACTIVE) {
|
||||||
/* Restore clock speed */
|
/* Restore clock speed */
|
||||||
|
@ -693,7 +693,7 @@ static int dhdsdio_sdclk(dhd_bus_t *bus, bool on)
|
||||||
if (err) {
|
if (err) {
|
||||||
DHD_ERROR(("%s: error restoring sd_divisor: %d\n",
|
DHD_ERROR(("%s: error restoring sd_divisor: %d\n",
|
||||||
__func__, err));
|
__func__, err));
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
bus->clkstate = CLK_SDONLY;
|
bus->clkstate = CLK_SDONLY;
|
||||||
|
@ -702,7 +702,7 @@ static int dhdsdio_sdclk(dhd_bus_t *bus, bool on)
|
||||||
if ((bus->sd_divisor == -1) || (bus->sd_mode == -1)) {
|
if ((bus->sd_divisor == -1) || (bus->sd_mode == -1)) {
|
||||||
DHD_TRACE(("%s: can't idle clock, divisor %d mode %d\n",
|
DHD_TRACE(("%s: can't idle clock, divisor %d mode %d\n",
|
||||||
__func__, bus->sd_divisor, bus->sd_mode));
|
__func__, bus->sd_divisor, bus->sd_mode));
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
if (bus->idleclock == DHD_IDLE_STOP) {
|
if (bus->idleclock == DHD_IDLE_STOP) {
|
||||||
if (sd1idle) {
|
if (sd1idle) {
|
||||||
|
@ -715,7 +715,7 @@ static int dhdsdio_sdclk(dhd_bus_t *bus, bool on)
|
||||||
if (err) {
|
if (err) {
|
||||||
DHD_ERROR(("%s: error changing sd_clock: %d\n",
|
DHD_ERROR(("%s: error changing sd_clock: %d\n",
|
||||||
__func__, err));
|
__func__, err));
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -725,7 +725,7 @@ static int dhdsdio_sdclk(dhd_bus_t *bus, bool on)
|
||||||
if (err) {
|
if (err) {
|
||||||
DHD_ERROR(("%s: error disabling sd_clock: %d\n",
|
DHD_ERROR(("%s: error disabling sd_clock: %d\n",
|
||||||
__func__, err));
|
__func__, err));
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
} else if (bus->idleclock != DHD_IDLE_ACTIVE) {
|
} else if (bus->idleclock != DHD_IDLE_ACTIVE) {
|
||||||
/* Set divisor to idle value */
|
/* Set divisor to idle value */
|
||||||
|
@ -735,7 +735,7 @@ static int dhdsdio_sdclk(dhd_bus_t *bus, bool on)
|
||||||
if (err) {
|
if (err) {
|
||||||
DHD_ERROR(("%s: error changing sd_divisor: %d\n",
|
DHD_ERROR(("%s: error changing sd_divisor: %d\n",
|
||||||
__func__, err));
|
__func__, err));
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
bus->clkstate = CLK_NONE;
|
bus->clkstate = CLK_NONE;
|
||||||
|
@ -943,7 +943,7 @@ static int dhdsdio_txpkt(dhd_bus_t *bus, struct sk_buff *pkt, uint chan,
|
||||||
sdh = bus->sdh;
|
sdh = bus->sdh;
|
||||||
|
|
||||||
if (bus->dhd->dongle_reset) {
|
if (bus->dhd->dongle_reset) {
|
||||||
ret = -BCME_NOTREADY;
|
ret = -EPERM;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1089,7 +1089,7 @@ done:
|
||||||
|
|
||||||
int dhd_bus_txdata(struct dhd_bus *bus, struct sk_buff *pkt)
|
int dhd_bus_txdata(struct dhd_bus *bus, struct sk_buff *pkt)
|
||||||
{
|
{
|
||||||
int ret = -BCME_ERROR;
|
int ret = -EBADE;
|
||||||
uint datalen, prec;
|
uint datalen, prec;
|
||||||
|
|
||||||
DHD_TRACE(("%s: Enter\n", __func__));
|
DHD_TRACE(("%s: Enter\n", __func__));
|
||||||
|
@ -1799,7 +1799,7 @@ static int dhdsdio_readshared(dhd_bus_t *bus, sdpcm_shared_t *sh)
|
||||||
if (addr == 0 || ((~addr >> 16) & 0xffff) == (addr & 0xffff)) {
|
if (addr == 0 || ((~addr >> 16) & 0xffff) == (addr & 0xffff)) {
|
||||||
DHD_ERROR(("%s: address (0x%08x) of sdpcm_shared invalid\n",
|
DHD_ERROR(("%s: address (0x%08x) of sdpcm_shared invalid\n",
|
||||||
__func__, addr));
|
__func__, addr));
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Read hndrte_shared structure */
|
/* Read hndrte_shared structure */
|
||||||
|
@ -1822,7 +1822,7 @@ static int dhdsdio_readshared(dhd_bus_t *bus, sdpcm_shared_t *sh)
|
||||||
"is different than sdpcm_shared version %d in dongle\n",
|
"is different than sdpcm_shared version %d in dongle\n",
|
||||||
__func__, SDPCM_SHARED_VERSION,
|
__func__, SDPCM_SHARED_VERSION,
|
||||||
sh->flags & SDPCM_SHARED_VERSION_MASK));
|
sh->flags & SDPCM_SHARED_VERSION_MASK));
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2035,7 +2035,7 @@ static int dhdsdio_readconsole(dhd_bus_t *bus)
|
||||||
|
|
||||||
/* Protect against corrupt value */
|
/* Protect against corrupt value */
|
||||||
if (idx > c->bufsize)
|
if (idx > c->bufsize)
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
|
|
||||||
/* Skip reading the console buffer if the index pointer
|
/* Skip reading the console buffer if the index pointer
|
||||||
has not moved */
|
has not moved */
|
||||||
|
@ -2090,7 +2090,7 @@ int dhdsdio_downloadvars(dhd_bus_t *bus, void *arg, int len)
|
||||||
|
|
||||||
/* Basic sanity checks */
|
/* Basic sanity checks */
|
||||||
if (bus->dhd->up) {
|
if (bus->dhd->up) {
|
||||||
bcmerror = -BCME_NOTDOWN;
|
bcmerror = -EISCONN;
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
if (!len) {
|
if (!len) {
|
||||||
|
@ -2143,7 +2143,7 @@ dhdsdio_doiovar(dhd_bus_t *bus, const bcm_iovar_t *vi, u32 actionid,
|
||||||
/* Check if dongle is in reset. If so, only allow DEVRESET iovars */
|
/* Check if dongle is in reset. If so, only allow DEVRESET iovars */
|
||||||
if (bus->dhd->dongle_reset && !(actionid == IOV_SVAL(IOV_DEVRESET) ||
|
if (bus->dhd->dongle_reset && !(actionid == IOV_SVAL(IOV_DEVRESET) ||
|
||||||
actionid == IOV_GVAL(IOV_DEVRESET))) {
|
actionid == IOV_GVAL(IOV_DEVRESET))) {
|
||||||
bcmerror = -BCME_NOTREADY;
|
bcmerror = -EPERM;
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2361,7 +2361,7 @@ dhdsdio_doiovar(dhd_bus_t *bus, const bcm_iovar_t *vi, u32 actionid,
|
||||||
size = sd_ptr->func;
|
size = sd_ptr->func;
|
||||||
int_val = (s32) bcmsdh_reg_read(bus->sdh, addr, size);
|
int_val = (s32) bcmsdh_reg_read(bus->sdh, addr, size);
|
||||||
if (bcmsdh_regfail(bus->sdh))
|
if (bcmsdh_regfail(bus->sdh))
|
||||||
bcmerror = -BCME_SDIO_ERROR;
|
bcmerror = -EIO;
|
||||||
memcpy(arg, &int_val, sizeof(s32));
|
memcpy(arg, &int_val, sizeof(s32));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -2377,7 +2377,7 @@ dhdsdio_doiovar(dhd_bus_t *bus, const bcm_iovar_t *vi, u32 actionid,
|
||||||
size = sd_ptr->func;
|
size = sd_ptr->func;
|
||||||
bcmsdh_reg_write(bus->sdh, addr, size, sd_ptr->value);
|
bcmsdh_reg_write(bus->sdh, addr, size, sd_ptr->value);
|
||||||
if (bcmsdh_regfail(bus->sdh))
|
if (bcmsdh_regfail(bus->sdh))
|
||||||
bcmerror = -BCME_SDIO_ERROR;
|
bcmerror = -EIO;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2394,7 +2394,7 @@ dhdsdio_doiovar(dhd_bus_t *bus, const bcm_iovar_t *vi, u32 actionid,
|
||||||
size = sdreg.func;
|
size = sdreg.func;
|
||||||
int_val = (s32) bcmsdh_reg_read(bus->sdh, addr, size);
|
int_val = (s32) bcmsdh_reg_read(bus->sdh, addr, size);
|
||||||
if (bcmsdh_regfail(bus->sdh))
|
if (bcmsdh_regfail(bus->sdh))
|
||||||
bcmerror = -BCME_SDIO_ERROR;
|
bcmerror = -EIO;
|
||||||
memcpy(arg, &int_val, sizeof(s32));
|
memcpy(arg, &int_val, sizeof(s32));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -2410,7 +2410,7 @@ dhdsdio_doiovar(dhd_bus_t *bus, const bcm_iovar_t *vi, u32 actionid,
|
||||||
size = sdreg.func;
|
size = sdreg.func;
|
||||||
bcmsdh_reg_write(bus->sdh, addr, size, sdreg.value);
|
bcmsdh_reg_write(bus->sdh, addr, size, sdreg.value);
|
||||||
if (bcmsdh_regfail(bus->sdh))
|
if (bcmsdh_regfail(bus->sdh))
|
||||||
bcmerror = -BCME_SDIO_ERROR;
|
bcmerror = -EIO;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2644,7 +2644,7 @@ static int dhdsdio_download_state(dhd_bus_t *bus, bool enter)
|
||||||
if ((SICF_CLOCK_EN << SBTML_SICF_SHIFT) != regdata) {
|
if ((SICF_CLOCK_EN << SBTML_SICF_SHIFT) != regdata) {
|
||||||
DHD_ERROR(("%s: SOCRAM core is down after reset?\n",
|
DHD_ERROR(("%s: SOCRAM core is down after reset?\n",
|
||||||
__func__));
|
__func__));
|
||||||
bcmerror = -BCME_ERROR;
|
bcmerror = -EBADE;
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4926,7 +4926,7 @@ extern int dhd_bus_console_in(dhd_pub_t *dhdp, unsigned char *msg, uint msglen)
|
||||||
/* Don't allow input if dongle is in reset */
|
/* Don't allow input if dongle is in reset */
|
||||||
if (bus->dhd->dongle_reset) {
|
if (bus->dhd->dongle_reset) {
|
||||||
dhd_os_sdunlock(bus->dhd);
|
dhd_os_sdunlock(bus->dhd);
|
||||||
return -BCME_NOTREADY;
|
return -EPERM;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Request clock to allow SDIO accesses */
|
/* Request clock to allow SDIO accesses */
|
||||||
|
@ -5811,7 +5811,7 @@ static int dhdsdio_download_nvram(struct dhd_bus *bus)
|
||||||
} else {
|
} else {
|
||||||
DHD_ERROR(("%s: error reading nvram file: %d\n",
|
DHD_ERROR(("%s: error reading nvram file: %d\n",
|
||||||
__func__, len));
|
__func__, len));
|
||||||
bcmerror = -BCME_SDIO_ERROR;
|
bcmerror = -EIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
err:
|
err:
|
||||||
|
@ -5969,7 +5969,7 @@ int dhd_bus_devreset(dhd_pub_t *dhdp, u8 flag)
|
||||||
DHD_TRACE(("%s: WLAN OFF DONE\n", __func__));
|
DHD_TRACE(("%s: WLAN OFF DONE\n", __func__));
|
||||||
/* App can now remove power from device */
|
/* App can now remove power from device */
|
||||||
} else
|
} else
|
||||||
bcmerror = -BCME_SDIO_ERROR;
|
bcmerror = -EIO;
|
||||||
} else {
|
} else {
|
||||||
/* App must have restored power to device before calling */
|
/* App must have restored power to device before calling */
|
||||||
|
|
||||||
|
@ -6004,14 +6004,14 @@ int dhd_bus_devreset(dhd_pub_t *dhdp, u8 flag)
|
||||||
DHD_TRACE(("%s: WLAN ON DONE\n",
|
DHD_TRACE(("%s: WLAN ON DONE\n",
|
||||||
__func__));
|
__func__));
|
||||||
} else
|
} else
|
||||||
bcmerror = -BCME_SDIO_ERROR;
|
bcmerror = -EIO;
|
||||||
} else
|
} else
|
||||||
bcmerror = -BCME_SDIO_ERROR;
|
bcmerror = -EIO;
|
||||||
} else {
|
} else {
|
||||||
bcmerror = -BCME_NOTDOWN;
|
bcmerror = -EISCONN;
|
||||||
DHD_ERROR(("%s: Set DEVRESET=false invoked when device "
|
DHD_ERROR(("%s: Set DEVRESET=false invoked when device "
|
||||||
"is on\n", __func__));
|
"is on\n", __func__));
|
||||||
bcmerror = -BCME_SDIO_ERROR;
|
bcmerror = -EIO;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return bcmerror;
|
return bcmerror;
|
||||||
|
|
|
@ -22366,7 +22366,7 @@ wlc_phy_tx_tone_nphy(phy_info_t *pi, u32 f_kHz, u16 max_val,
|
||||||
num_samps =
|
num_samps =
|
||||||
wlc_phy_gen_load_samples_nphy(pi, f_kHz, max_val, dac_test_mode);
|
wlc_phy_gen_load_samples_nphy(pi, f_kHz, max_val, dac_test_mode);
|
||||||
if (num_samps == 0) {
|
if (num_samps == 0) {
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
wlc_phy_runsamples_nphy(pi, num_samps, loops, wait, iqmode,
|
wlc_phy_runsamples_nphy(pi, num_samps, loops, wait, iqmode,
|
||||||
|
@ -24559,7 +24559,7 @@ static void wlc_phy_calc_rx_iq_comp_nphy(phy_info_t *pi, u8 core_mask)
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((ii + qq) < NPHY_MIN_RXIQ_PWR) {
|
if ((ii + qq) < NPHY_MIN_RXIQ_PWR) {
|
||||||
bcmerror = -BCME_ERROR;
|
bcmerror = -EBADE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24571,14 +24571,14 @@ static void wlc_phy_calc_rx_iq_comp_nphy(phy_info_t *pi, u8 core_mask)
|
||||||
a = (-(iq << (30 - iq_nbits)) + (ii >> (1 + arsh)));
|
a = (-(iq << (30 - iq_nbits)) + (ii >> (1 + arsh)));
|
||||||
temp = (s32) (ii >> arsh);
|
temp = (s32) (ii >> arsh);
|
||||||
if (temp == 0) {
|
if (temp == 0) {
|
||||||
bcmerror = -BCME_ERROR;
|
bcmerror = -EBADE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
a = (-(iq << (30 - iq_nbits)) + (ii << (-1 - arsh)));
|
a = (-(iq << (30 - iq_nbits)) + (ii << (-1 - arsh)));
|
||||||
temp = (s32) (ii << -arsh);
|
temp = (s32) (ii << -arsh);
|
||||||
if (temp == 0) {
|
if (temp == 0) {
|
||||||
bcmerror = -BCME_ERROR;
|
bcmerror = -EBADE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24590,14 +24590,14 @@ static void wlc_phy_calc_rx_iq_comp_nphy(phy_info_t *pi, u8 core_mask)
|
||||||
b = (qq << (31 - qq_nbits));
|
b = (qq << (31 - qq_nbits));
|
||||||
temp = (s32) (ii >> brsh);
|
temp = (s32) (ii >> brsh);
|
||||||
if (temp == 0) {
|
if (temp == 0) {
|
||||||
bcmerror = -BCME_ERROR;
|
bcmerror = -EBADE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
b = (qq << (31 - qq_nbits));
|
b = (qq << (31 - qq_nbits));
|
||||||
temp = (s32) (ii << -brsh);
|
temp = (s32) (ii << -brsh);
|
||||||
if (temp == 0) {
|
if (temp == 0) {
|
||||||
bcmerror = -BCME_ERROR;
|
bcmerror = -EBADE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1806,7 +1806,7 @@ int wl_ucode_init_buf(struct wl_info *wl, void **pbuf, u32 idx)
|
||||||
idx);
|
idx);
|
||||||
*pbuf = NULL;
|
*pbuf = NULL;
|
||||||
fail:
|
fail:
|
||||||
return -BCME_NOTFOUND;
|
return -ENODATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -1139,7 +1139,7 @@ int wlc_bmac_up_prep(struct wlc_hw_info *wlc_hw)
|
||||||
if (wlc_hw->sih->bustype == PCI_BUS)
|
if (wlc_hw->sih->bustype == PCI_BUS)
|
||||||
si_pci_down(wlc_hw->sih);
|
si_pci_down(wlc_hw->sih);
|
||||||
wlc_bmac_xtal(wlc_hw, OFF);
|
wlc_bmac_xtal(wlc_hw, OFF);
|
||||||
return -BCME_RADIOOFF;
|
return -ENOMEDIUM;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (wlc_hw->sih->bustype == PCI_BUS)
|
if (wlc_hw->sih->bustype == PCI_BUS)
|
||||||
|
@ -2816,7 +2816,7 @@ static void wlc_bmac_mute(struct wlc_hw_info *wlc_hw, bool on, mbool flags)
|
||||||
int wlc_bmac_xmtfifo_sz_get(struct wlc_hw_info *wlc_hw, uint fifo, uint *blocks)
|
int wlc_bmac_xmtfifo_sz_get(struct wlc_hw_info *wlc_hw, uint fifo, uint *blocks)
|
||||||
{
|
{
|
||||||
if (fifo >= NFIFO)
|
if (fifo >= NFIFO)
|
||||||
return -BCME_RANGE;
|
return -EINVAL;
|
||||||
|
|
||||||
*blocks = wlc_hw->xmtfifo_sz[fifo];
|
*blocks = wlc_hw->xmtfifo_sz[fifo];
|
||||||
|
|
||||||
|
|
|
@ -115,7 +115,7 @@ typedef struct wsec_key {
|
||||||
#define WSEC_IBSS_PEER_GROUP_KEY (1 << 7) /* Flag: group key for a IBSS PEER */
|
#define WSEC_IBSS_PEER_GROUP_KEY (1 << 7) /* Flag: group key for a IBSS PEER */
|
||||||
#define WSEC_ICV_ERROR (1 << 8) /* Provoke deliberate ICV error */
|
#define WSEC_ICV_ERROR (1 << 8) /* Provoke deliberate ICV error */
|
||||||
|
|
||||||
#define wlc_key_insert(a, b, c, d, e, f, g, h, i, j) (-BCME_ERROR)
|
#define wlc_key_insert(a, b, c, d, e, f, g, h, i, j) (-EBADE)
|
||||||
#define wlc_key_update(a, b, c) do {} while (0)
|
#define wlc_key_update(a, b, c) do {} while (0)
|
||||||
#define wlc_key_remove(a, b, c) do {} while (0)
|
#define wlc_key_remove(a, b, c) do {} while (0)
|
||||||
#define wlc_key_remove_all(a, b) do {} while (0)
|
#define wlc_key_remove_all(a, b) do {} while (0)
|
||||||
|
@ -126,12 +126,12 @@ typedef struct wsec_key {
|
||||||
#define wlc_key_hw_init(a, b, c) do {} while (0)
|
#define wlc_key_hw_init(a, b, c) do {} while (0)
|
||||||
#define wlc_key_hw_wowl_init(a, b, c, d) do {} while (0)
|
#define wlc_key_hw_wowl_init(a, b, c, d) do {} while (0)
|
||||||
#define wlc_key_sw_wowl_update(a, b, c, d, e) do {} while (0)
|
#define wlc_key_sw_wowl_update(a, b, c, d, e) do {} while (0)
|
||||||
#define wlc_key_sw_wowl_create(a, b, c) (-BCME_ERROR)
|
#define wlc_key_sw_wowl_create(a, b, c) (-EBADE)
|
||||||
#define wlc_key_iv_update(a, b, c, d, e) do {(void)e; } while (0)
|
#define wlc_key_iv_update(a, b, c, d, e) do {(void)e; } while (0)
|
||||||
#define wlc_key_iv_init(a, b, c) do {} while (0)
|
#define wlc_key_iv_init(a, b, c) do {} while (0)
|
||||||
#define wlc_key_set_error(a, b, c) (-BCME_ERROR)
|
#define wlc_key_set_error(a, b, c) (-EBADE)
|
||||||
#define wlc_key_dump_hw(a, b) (-BCME_ERROR)
|
#define wlc_key_dump_hw(a, b) (-EBADE)
|
||||||
#define wlc_key_dump_sw(a, b) (-BCME_ERROR)
|
#define wlc_key_dump_sw(a, b) (-EBADE)
|
||||||
#define wlc_key_defkeyflag(a) (0)
|
#define wlc_key_defkeyflag(a) (0)
|
||||||
#define wlc_rcmta_add_bssid(a, b) do {} while (0)
|
#define wlc_rcmta_add_bssid(a, b) do {} while (0)
|
||||||
#define wlc_rcmta_del_bssid(a, b) do {} while (0)
|
#define wlc_rcmta_del_bssid(a, b) do {} while (0)
|
||||||
|
|
|
@ -2336,7 +2336,7 @@ int wlc_up(struct wlc_info *wlc)
|
||||||
|
|
||||||
/* HW is turned off so don't try to access it */
|
/* HW is turned off so don't try to access it */
|
||||||
if (wlc->pub->hw_off || DEVICEREMOVED(wlc))
|
if (wlc->pub->hw_off || DEVICEREMOVED(wlc))
|
||||||
return -BCME_RADIOOFF;
|
return -ENOMEDIUM;
|
||||||
|
|
||||||
if (!wlc->pub->hw_up) {
|
if (!wlc->pub->hw_up) {
|
||||||
wlc_bmac_hw_up(wlc->hw);
|
wlc_bmac_hw_up(wlc->hw);
|
||||||
|
@ -2365,7 +2365,7 @@ int wlc_up(struct wlc_info *wlc)
|
||||||
*/
|
*/
|
||||||
if (!wlc->pub->radio_disabled) {
|
if (!wlc->pub->radio_disabled) {
|
||||||
int status = wlc_bmac_up_prep(wlc->hw);
|
int status = wlc_bmac_up_prep(wlc->hw);
|
||||||
if (status == -BCME_RADIOOFF) {
|
if (status == -ENOMEDIUM) {
|
||||||
if (!mboolisset
|
if (!mboolisset
|
||||||
(wlc->pub->radio_disabled, WL_RADIO_HW_DISABLE)) {
|
(wlc->pub->radio_disabled, WL_RADIO_HW_DISABLE)) {
|
||||||
int idx;
|
int idx;
|
||||||
|
@ -2569,7 +2569,7 @@ int wlc_set_gmode(struct wlc_info *wlc, u8 gmode, bool config)
|
||||||
/* Legacy or bust when no OFDM is supported by regulatory */
|
/* Legacy or bust when no OFDM is supported by regulatory */
|
||||||
if ((wlc_channel_locale_flags_in_band(wlc->cmi, band->bandunit) &
|
if ((wlc_channel_locale_flags_in_band(wlc->cmi, band->bandunit) &
|
||||||
WLC_NO_OFDM) && (gmode != GMODE_LEGACY_B))
|
WLC_NO_OFDM) && (gmode != GMODE_LEGACY_B))
|
||||||
return -BCME_RANGE;
|
return -EINVAL;
|
||||||
|
|
||||||
/* update configuration value */
|
/* update configuration value */
|
||||||
if (config == true)
|
if (config == true)
|
||||||
|
@ -2702,7 +2702,7 @@ static int wlc_nmode_validate(struct wlc_info *wlc, s32 nmode)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
err = -BCME_RANGE;
|
err = -EINVAL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2796,7 +2796,7 @@ static int wlc_set_rateset(struct wlc_info *wlc, wlc_rateset_t *rs_arg)
|
||||||
goto good;
|
goto good;
|
||||||
}
|
}
|
||||||
|
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
|
|
||||||
good:
|
good:
|
||||||
/* apply new rateset */
|
/* apply new rateset */
|
||||||
|
@ -2872,7 +2872,7 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||||
wiphy_err(wlc->wiphy, "wl%d: %s: dead chip\n", wlc->pub->unit,
|
wiphy_err(wlc->wiphy, "wl%d: %s: dead chip\n", wlc->pub->unit,
|
||||||
__func__);
|
__func__);
|
||||||
wl_down(wlc->wl);
|
wl_down(wlc->wl);
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* default argument is generic integer */
|
/* default argument is generic integer */
|
||||||
|
@ -2995,7 +2995,7 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (val >= MHFMAX) {
|
if (val >= MHFMAX) {
|
||||||
bcmerror = -BCME_RANGE;
|
bcmerror = -EINVAL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3020,7 +3020,7 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||||
|
|
||||||
i = (u16) val;
|
i = (u16) val;
|
||||||
if (i >= MHFMAX) {
|
if (i >= MHFMAX) {
|
||||||
bcmerror = -BCME_RANGE;
|
bcmerror = -EINVAL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3182,7 +3182,7 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||||
case WLC_SET_ANTDIV:
|
case WLC_SET_ANTDIV:
|
||||||
/* values are -1=driver default, 0=force0, 1=force1, 2=start1, 3=start0 */
|
/* values are -1=driver default, 0=force0, 1=force1, 2=start1, 3=start0 */
|
||||||
if ((val < -1) || (val > 3)) {
|
if ((val < -1) || (val > 3)) {
|
||||||
bcmerror = -BCME_RANGE;
|
bcmerror = -EINVAL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3203,7 +3203,7 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||||
|
|
||||||
rxstatus = R_REG(&wlc->regs->phyrxstatus0);
|
rxstatus = R_REG(&wlc->regs->phyrxstatus0);
|
||||||
if (rxstatus == 0xdead || rxstatus == (u16) -1) {
|
if (rxstatus == 0xdead || rxstatus == (u16) -1) {
|
||||||
bcmerror = -BCME_ERROR;
|
bcmerror = -EBADE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
*pval = (rxstatus & PRXS0_RXANT_UPSUBBAND) ? 1 : 0;
|
*pval = (rxstatus & PRXS0_RXANT_UPSUBBAND) ? 1 : 0;
|
||||||
|
@ -3213,7 +3213,7 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||||
#if defined(BCMDBG)
|
#if defined(BCMDBG)
|
||||||
case WLC_GET_UCANTDIV:
|
case WLC_GET_UCANTDIV:
|
||||||
if (!wlc->clk) {
|
if (!wlc->clk) {
|
||||||
bcmerror = -BCME_NOCLK;
|
bcmerror = -EIO;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3230,7 +3230,7 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||||
|
|
||||||
/* if multiband, band must be locked */
|
/* if multiband, band must be locked */
|
||||||
if (IS_MBAND_UNLOCKED(wlc)) {
|
if (IS_MBAND_UNLOCKED(wlc)) {
|
||||||
bcmerror = -BCME_NOTBANDLOCKED;
|
bcmerror = -ENOMEDIUM;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3256,7 +3256,7 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||||
}
|
}
|
||||||
wlc_wme_retries_write(wlc);
|
wlc_wme_retries_write(wlc);
|
||||||
} else
|
} else
|
||||||
bcmerror = -BCME_RANGE;
|
bcmerror = -EINVAL;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WLC_GET_LRL:
|
case WLC_GET_LRL:
|
||||||
|
@ -3275,7 +3275,7 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||||
}
|
}
|
||||||
wlc_wme_retries_write(wlc);
|
wlc_wme_retries_write(wlc);
|
||||||
} else
|
} else
|
||||||
bcmerror = -BCME_RANGE;
|
bcmerror = -EINVAL;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WLC_GET_CWMIN:
|
case WLC_GET_CWMIN:
|
||||||
|
@ -3284,14 +3284,14 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||||
|
|
||||||
case WLC_SET_CWMIN:
|
case WLC_SET_CWMIN:
|
||||||
if (!wlc->clk) {
|
if (!wlc->clk) {
|
||||||
bcmerror = -BCME_NOCLK;
|
bcmerror = -EIO;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (val >= 1 && val <= 255) {
|
if (val >= 1 && val <= 255) {
|
||||||
wlc_set_cwmin(wlc, (u16) val);
|
wlc_set_cwmin(wlc, (u16) val);
|
||||||
} else
|
} else
|
||||||
bcmerror = -BCME_RANGE;
|
bcmerror = -EINVAL;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WLC_GET_CWMAX:
|
case WLC_GET_CWMAX:
|
||||||
|
@ -3300,14 +3300,14 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||||
|
|
||||||
case WLC_SET_CWMAX:
|
case WLC_SET_CWMAX:
|
||||||
if (!wlc->clk) {
|
if (!wlc->clk) {
|
||||||
bcmerror = -BCME_NOCLK;
|
bcmerror = -EIO;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (val >= 255 && val <= 2047) {
|
if (val >= 255 && val <= 2047) {
|
||||||
wlc_set_cwmax(wlc, (u16) val);
|
wlc_set_cwmax(wlc, (u16) val);
|
||||||
} else
|
} else
|
||||||
bcmerror = -BCME_RANGE;
|
bcmerror = -EINVAL;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WLC_GET_RADIO: /* use mask if don't want to expose some internal bits */
|
case WLC_GET_RADIO: /* use mask if don't want to expose some internal bits */
|
||||||
|
@ -3330,7 +3330,7 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||||
|| ((radioval & ~radiomask) != 0)) {
|
|| ((radioval & ~radiomask) != 0)) {
|
||||||
wiphy_err(wlc->wiphy, "SET_RADIO with wrong "
|
wiphy_err(wlc->wiphy, "SET_RADIO with wrong "
|
||||||
"bits 0x%x\n", val);
|
"bits 0x%x\n", val);
|
||||||
bcmerror = -BCME_RANGE;
|
bcmerror = -EINVAL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3479,7 +3479,7 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (in_rs->count > WLC_NUMRATES) {
|
if (in_rs->count > WLC_NUMRATES) {
|
||||||
bcmerror = -BCME_BUFTOOLONG;
|
bcmerror = -ENOBUFS;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3522,7 +3522,7 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||||
&& val <= DOT11_MAX_BEACON_PERIOD) {
|
&& val <= DOT11_MAX_BEACON_PERIOD) {
|
||||||
wlc->default_bss->beacon_period = (u16) val;
|
wlc->default_bss->beacon_period = (u16) val;
|
||||||
} else
|
} else
|
||||||
bcmerror = -BCME_RANGE;
|
bcmerror = -EINVAL;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WLC_GET_DTIMPRD:
|
case WLC_GET_DTIMPRD:
|
||||||
|
@ -3538,7 +3538,7 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||||
&& val <= DOT11_MAX_DTIM_PERIOD) {
|
&& val <= DOT11_MAX_DTIM_PERIOD) {
|
||||||
wlc->default_bss->dtim_period = (u8) val;
|
wlc->default_bss->dtim_period = (u8) val;
|
||||||
} else
|
} else
|
||||||
bcmerror = -BCME_RANGE;
|
bcmerror = -EINVAL;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#ifdef SUPPORT_PS
|
#ifdef SUPPORT_PS
|
||||||
|
@ -3554,7 +3554,7 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||||
/* Change watchdog driver to align watchdog with tbtt if possible */
|
/* Change watchdog driver to align watchdog with tbtt if possible */
|
||||||
wlc_watchdog_upd(wlc, PS_ALLOWED(wlc));
|
wlc_watchdog_upd(wlc, PS_ALLOWED(wlc));
|
||||||
} else
|
} else
|
||||||
bcmerror = -BCME_ERROR;
|
bcmerror = -EBADE;
|
||||||
break;
|
break;
|
||||||
#endif /* SUPPORT_PS */
|
#endif /* SUPPORT_PS */
|
||||||
|
|
||||||
|
@ -3691,7 +3691,7 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||||
case WLC_SET_SHORTSLOT_OVERRIDE:
|
case WLC_SET_SHORTSLOT_OVERRIDE:
|
||||||
if ((val != WLC_SHORTSLOT_AUTO) &&
|
if ((val != WLC_SHORTSLOT_AUTO) &&
|
||||||
(val != WLC_SHORTSLOT_OFF) && (val != WLC_SHORTSLOT_ON)) {
|
(val != WLC_SHORTSLOT_OFF) && (val != WLC_SHORTSLOT_ON)) {
|
||||||
bcmerror = -BCME_RANGE;
|
bcmerror = -EINVAL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3748,7 +3748,7 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||||
if (!wlc->pub->associated)
|
if (!wlc->pub->associated)
|
||||||
bcmerror = wlc_set_gmode(wlc, (u8) val, true);
|
bcmerror = wlc_set_gmode(wlc, (u8) val, true);
|
||||||
else {
|
else {
|
||||||
bcmerror = -BCME_ASSOCIATED;
|
bcmerror = -EISCONN;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -3765,7 +3765,7 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||||
if ((val != WLC_PROTECTION_CTL_OFF) &&
|
if ((val != WLC_PROTECTION_CTL_OFF) &&
|
||||||
(val != WLC_PROTECTION_CTL_LOCAL) &&
|
(val != WLC_PROTECTION_CTL_LOCAL) &&
|
||||||
(val != WLC_PROTECTION_CTL_OVERLAP)) {
|
(val != WLC_PROTECTION_CTL_OVERLAP)) {
|
||||||
bcmerror = -BCME_RANGE;
|
bcmerror = -EINVAL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3784,7 +3784,7 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||||
case WLC_SET_GMODE_PROTECTION_OVERRIDE:
|
case WLC_SET_GMODE_PROTECTION_OVERRIDE:
|
||||||
if ((val != WLC_PROTECTION_AUTO) &&
|
if ((val != WLC_PROTECTION_AUTO) &&
|
||||||
(val != WLC_PROTECTION_OFF) && (val != WLC_PROTECTION_ON)) {
|
(val != WLC_PROTECTION_OFF) && (val != WLC_PROTECTION_ON)) {
|
||||||
bcmerror = -BCME_RANGE;
|
bcmerror = -EINVAL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3876,11 +3876,11 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||||
|
|
||||||
case WLC_SET_PRB_RESP_TIMEOUT:
|
case WLC_SET_PRB_RESP_TIMEOUT:
|
||||||
if (wlc->pub->up) {
|
if (wlc->pub->up) {
|
||||||
bcmerror = -BCME_NOTDOWN;
|
bcmerror = -EISCONN;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (val < 0 || val >= 0xFFFF) {
|
if (val < 0 || val >= 0xFFFF) {
|
||||||
bcmerror = -BCME_RANGE; /* bad value */
|
bcmerror = -EINVAL; /* bad value */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
wlc->prb_resp_timeout = (u16) val;
|
wlc->prb_resp_timeout = (u16) val;
|
||||||
|
@ -3974,14 +3974,8 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
||||||
}
|
}
|
||||||
done:
|
done:
|
||||||
|
|
||||||
if (bcmerror) {
|
if (bcmerror)
|
||||||
if (VALID_BCMERROR(bcmerror))
|
wlc->pub->bcmerror = bcmerror;
|
||||||
wlc->pub->bcmerror = bcmerror;
|
|
||||||
else {
|
|
||||||
bcmerror = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return bcmerror;
|
return bcmerror;
|
||||||
}
|
}
|
||||||
|
@ -3996,11 +3990,11 @@ int wlc_iocregchk(struct wlc_info *wlc, uint band)
|
||||||
|
|
||||||
/* if multiband and band is not specified, band must be locked */
|
/* if multiband and band is not specified, band must be locked */
|
||||||
if ((band == WLC_BAND_AUTO) && IS_MBAND_UNLOCKED(wlc))
|
if ((band == WLC_BAND_AUTO) && IS_MBAND_UNLOCKED(wlc))
|
||||||
return -BCME_NOTBANDLOCKED;
|
return -ENOMEDIUM;
|
||||||
|
|
||||||
/* must have core clocks */
|
/* must have core clocks */
|
||||||
if (!wlc->clk)
|
if (!wlc->clk)
|
||||||
return -BCME_NOCLK;
|
return -EIO;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -4104,7 +4098,7 @@ int wlc_module_unregister(struct wlc_pub *pub, const char *name, void *hdl)
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (wlc == NULL)
|
if (wlc == NULL)
|
||||||
return -BCME_NOTFOUND;
|
return -ENODATA;
|
||||||
|
|
||||||
for (i = 0; i < WLC_MAXMODULES; i++) {
|
for (i = 0; i < WLC_MAXMODULES; i++) {
|
||||||
if (!strcmp(wlc->modulecb[i].name, name) &&
|
if (!strcmp(wlc->modulecb[i].name, name) &&
|
||||||
|
@ -4115,7 +4109,7 @@ int wlc_module_unregister(struct wlc_pub *pub, const char *name, void *hdl)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* table not found! */
|
/* table not found! */
|
||||||
return -BCME_NOTFOUND;
|
return -ENODATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Write WME tunable parameters for retransmit/max rate from wlc struct to ucode */
|
/* Write WME tunable parameters for retransmit/max rate from wlc struct to ucode */
|
||||||
|
@ -4208,22 +4202,22 @@ wlc_iovar_check(struct wlc_pub *pub, const bcm_iovar_t *vi, void *arg, int len,
|
||||||
if (set) {
|
if (set) {
|
||||||
if (((vi->flags & IOVF_SET_DOWN) && wlc->pub->up) ||
|
if (((vi->flags & IOVF_SET_DOWN) && wlc->pub->up) ||
|
||||||
((vi->flags & IOVF_SET_UP) && !wlc->pub->up)) {
|
((vi->flags & IOVF_SET_UP) && !wlc->pub->up)) {
|
||||||
err = (wlc->pub->up ? -BCME_NOTDOWN : -ENOLINK);
|
err = (wlc->pub->up ? -EISCONN : -ENOLINK);
|
||||||
} else if ((vi->flags & IOVF_SET_BAND)
|
} else if ((vi->flags & IOVF_SET_BAND)
|
||||||
&& IS_MBAND_UNLOCKED(wlc)) {
|
&& IS_MBAND_UNLOCKED(wlc)) {
|
||||||
err = -BCME_NOTBANDLOCKED;
|
err = -ENOMEDIUM;
|
||||||
} else if ((vi->flags & IOVF_SET_CLK) && !wlc->clk) {
|
} else if ((vi->flags & IOVF_SET_CLK) && !wlc->clk) {
|
||||||
err = -BCME_NOCLK;
|
err = -EIO;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (((vi->flags & IOVF_GET_DOWN) && wlc->pub->up) ||
|
if (((vi->flags & IOVF_GET_DOWN) && wlc->pub->up) ||
|
||||||
((vi->flags & IOVF_GET_UP) && !wlc->pub->up)) {
|
((vi->flags & IOVF_GET_UP) && !wlc->pub->up)) {
|
||||||
err = (wlc->pub->up ? -BCME_NOTDOWN : -ENOLINK);
|
err = (wlc->pub->up ? -EISCONN : -ENOLINK);
|
||||||
} else if ((vi->flags & IOVF_GET_BAND)
|
} else if ((vi->flags & IOVF_GET_BAND)
|
||||||
&& IS_MBAND_UNLOCKED(wlc)) {
|
&& IS_MBAND_UNLOCKED(wlc)) {
|
||||||
err = -BCME_NOTBANDLOCKED;
|
err = -ENOMEDIUM;
|
||||||
} else if ((vi->flags & IOVF_GET_CLK) && !wlc->clk) {
|
} else if ((vi->flags & IOVF_GET_CLK) && !wlc->clk) {
|
||||||
err = -BCME_NOCLK;
|
err = -EIO;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4401,7 +4395,7 @@ wlc_iovar_rangecheck(struct wlc_info *wlc, u32 val, const bcm_iovar_t *vi)
|
||||||
/* Signed values are checked against max_val and min_val */
|
/* Signed values are checked against max_val and min_val */
|
||||||
if ((s32) val < (s32) min_val
|
if ((s32) val < (s32) min_val
|
||||||
|| (s32) val > (s32) max_val)
|
|| (s32) val > (s32) max_val)
|
||||||
err = -BCME_RANGE;
|
err = -EINVAL;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case IOVT_UINT32:
|
case IOVT_UINT32:
|
||||||
|
@ -4415,7 +4409,7 @@ wlc_iovar_rangecheck(struct wlc_info *wlc, u32 val, const bcm_iovar_t *vi)
|
||||||
if (vi->flags & IOVF_NTRL)
|
if (vi->flags & IOVF_NTRL)
|
||||||
min_val = 1;
|
min_val = 1;
|
||||||
if ((val < min_val) || (val > max_val))
|
if ((val < min_val) || (val > max_val))
|
||||||
err = -BCME_RANGE;
|
err = -EINVAL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7620,7 +7614,7 @@ mac80211_wlc_set_nrate(struct wlc_info *wlc, struct wlcband *cur_band,
|
||||||
if (stf > PHY_TXC1_MODE_SDM) {
|
if (stf > PHY_TXC1_MODE_SDM) {
|
||||||
wiphy_err(wlc->wiphy, "wl%d: %s: Invalid stf\n",
|
wiphy_err(wlc->wiphy, "wl%d: %s: Invalid stf\n",
|
||||||
WLCWLUNIT(wlc), __func__);
|
WLCWLUNIT(wlc), __func__);
|
||||||
bcmerror = -BCME_RANGE;
|
bcmerror = -EINVAL;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7631,7 +7625,7 @@ mac80211_wlc_set_nrate(struct wlc_info *wlc, struct wlcband *cur_band,
|
||||||
&& (stf != PHY_TXC1_MODE_CDD))) {
|
&& (stf != PHY_TXC1_MODE_CDD))) {
|
||||||
wiphy_err(wlc->wiphy, "wl%d: %s: Invalid mcs "
|
wiphy_err(wlc->wiphy, "wl%d: %s: Invalid mcs "
|
||||||
"32\n", WLCWLUNIT(wlc), __func__);
|
"32\n", WLCWLUNIT(wlc), __func__);
|
||||||
bcmerror = -BCME_RANGE;
|
bcmerror = -EINVAL;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
/* mcs > 7 must use stf SDM */
|
/* mcs > 7 must use stf SDM */
|
||||||
|
@ -7649,7 +7643,7 @@ mac80211_wlc_set_nrate(struct wlc_info *wlc, struct wlcband *cur_band,
|
||||||
&& (stf == PHY_TXC1_MODE_STBC))) {
|
&& (stf == PHY_TXC1_MODE_STBC))) {
|
||||||
wiphy_err(wlc->wiphy, "wl%d: %s: Invalid STBC"
|
wiphy_err(wlc->wiphy, "wl%d: %s: Invalid STBC"
|
||||||
"\n", WLCWLUNIT(wlc), __func__);
|
"\n", WLCWLUNIT(wlc), __func__);
|
||||||
bcmerror = -BCME_RANGE;
|
bcmerror = -EINVAL;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7657,7 +7651,7 @@ mac80211_wlc_set_nrate(struct wlc_info *wlc, struct wlcband *cur_band,
|
||||||
if ((stf != PHY_TXC1_MODE_CDD) && (stf != PHY_TXC1_MODE_SISO)) {
|
if ((stf != PHY_TXC1_MODE_CDD) && (stf != PHY_TXC1_MODE_SISO)) {
|
||||||
wiphy_err(wlc->wiphy, "wl%d: %s: Invalid OFDM\n",
|
wiphy_err(wlc->wiphy, "wl%d: %s: Invalid OFDM\n",
|
||||||
WLCWLUNIT(wlc), __func__);
|
WLCWLUNIT(wlc), __func__);
|
||||||
bcmerror = -BCME_RANGE;
|
bcmerror = -EINVAL;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
} else if (IS_CCK(rate)) {
|
} else if (IS_CCK(rate)) {
|
||||||
|
@ -7665,20 +7659,20 @@ mac80211_wlc_set_nrate(struct wlc_info *wlc, struct wlcband *cur_band,
|
||||||
|| (stf != PHY_TXC1_MODE_SISO)) {
|
|| (stf != PHY_TXC1_MODE_SISO)) {
|
||||||
wiphy_err(wlc->wiphy, "wl%d: %s: Invalid CCK\n",
|
wiphy_err(wlc->wiphy, "wl%d: %s: Invalid CCK\n",
|
||||||
WLCWLUNIT(wlc), __func__);
|
WLCWLUNIT(wlc), __func__);
|
||||||
bcmerror = -BCME_RANGE;
|
bcmerror = -EINVAL;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
wiphy_err(wlc->wiphy, "wl%d: %s: Unknown rate type\n",
|
wiphy_err(wlc->wiphy, "wl%d: %s: Unknown rate type\n",
|
||||||
WLCWLUNIT(wlc), __func__);
|
WLCWLUNIT(wlc), __func__);
|
||||||
bcmerror = -BCME_RANGE;
|
bcmerror = -EINVAL;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
/* make sure multiple antennae are available for non-siso rates */
|
/* make sure multiple antennae are available for non-siso rates */
|
||||||
if ((stf != PHY_TXC1_MODE_SISO) && (wlc->stf->txstreams == 1)) {
|
if ((stf != PHY_TXC1_MODE_SISO) && (wlc->stf->txstreams == 1)) {
|
||||||
wiphy_err(wlc->wiphy, "wl%d: %s: SISO antenna but !SISO "
|
wiphy_err(wlc->wiphy, "wl%d: %s: SISO antenna but !SISO "
|
||||||
"request\n", WLCWLUNIT(wlc), __func__);
|
"request\n", WLCWLUNIT(wlc), __func__);
|
||||||
bcmerror = -BCME_RANGE;
|
bcmerror = -EINVAL;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7723,7 +7717,7 @@ wlc_duty_cycle_set(struct wlc_info *wlc, int duty_cycle, bool isOFDM,
|
||||||
if (duty_cycle > 100 || duty_cycle < 0) {
|
if (duty_cycle > 100 || duty_cycle < 0) {
|
||||||
wiphy_err(wlc->wiphy, "wl%d: duty cycle value off limit\n",
|
wiphy_err(wlc->wiphy, "wl%d: duty cycle value off limit\n",
|
||||||
wlc->pub->unit);
|
wlc->pub->unit);
|
||||||
return -BCME_RANGE;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
if (duty_cycle)
|
if (duty_cycle)
|
||||||
idle_busy_ratio_x_16 = (100 - duty_cycle) * 16 / duty_cycle;
|
idle_busy_ratio_x_16 = (100 - duty_cycle) * 16 / duty_cycle;
|
||||||
|
|
|
@ -255,12 +255,12 @@ int wlc_stf_txchain_set(struct wlc_info *wlc, s32 int_val, bool force)
|
||||||
|
|
||||||
if ((txchain & ~wlc->stf->hw_txchain)
|
if ((txchain & ~wlc->stf->hw_txchain)
|
||||||
|| !(txchain & wlc->stf->hw_txchain))
|
|| !(txchain & wlc->stf->hw_txchain))
|
||||||
return -BCME_RANGE;
|
return -EINVAL;
|
||||||
|
|
||||||
/* if nrate override is configured to be non-SISO STF mode, reject reducing txchain to 1 */
|
/* if nrate override is configured to be non-SISO STF mode, reject reducing txchain to 1 */
|
||||||
txstreams = (u8) WLC_BITSCNT(txchain);
|
txstreams = (u8) WLC_BITSCNT(txchain);
|
||||||
if (txstreams > MAX_STREAMS_SUPPORTED)
|
if (txstreams > MAX_STREAMS_SUPPORTED)
|
||||||
return -BCME_RANGE;
|
return -EINVAL;
|
||||||
|
|
||||||
if (txstreams == 1) {
|
if (txstreams == 1) {
|
||||||
for (i = 0; i < NBANDS(wlc); i++)
|
for (i = 0; i < NBANDS(wlc); i++)
|
||||||
|
@ -269,7 +269,7 @@ int wlc_stf_txchain_set(struct wlc_info *wlc, s32 int_val, bool force)
|
||||||
|| (RSPEC_STF(wlc->bandstate[i]->mrspec_override) !=
|
|| (RSPEC_STF(wlc->bandstate[i]->mrspec_override) !=
|
||||||
PHY_TXC1_MODE_SISO)) {
|
PHY_TXC1_MODE_SISO)) {
|
||||||
if (!force)
|
if (!force)
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
|
|
||||||
/* over-write the override rspec */
|
/* over-write the override rspec */
|
||||||
if (RSPEC_STF(wlc->bandstate[i]->rspec_override)
|
if (RSPEC_STF(wlc->bandstate[i]->rspec_override)
|
||||||
|
@ -379,7 +379,7 @@ int wlc_stf_ant_txant_validate(struct wlc_info *wlc, s8 val)
|
||||||
|
|
||||||
/* when there is only 1 tx_streams, don't allow to change the txant */
|
/* when there is only 1 tx_streams, don't allow to change the txant */
|
||||||
if (WLCISNPHY(wlc->band) && (wlc->stf->txstreams == 1))
|
if (WLCISNPHY(wlc->band) && (wlc->stf->txstreams == 1))
|
||||||
return ((val == wlc->stf->txant) ? bcmerror : -BCME_RANGE);
|
return ((val == wlc->stf->txant) ? bcmerror : -EINVAL);
|
||||||
|
|
||||||
switch (val) {
|
switch (val) {
|
||||||
case -1:
|
case -1:
|
||||||
|
@ -395,7 +395,7 @@ int wlc_stf_ant_txant_validate(struct wlc_info *wlc, s8 val)
|
||||||
val = ANT_TX_LAST_RX;
|
val = ANT_TX_LAST_RX;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
bcmerror = -BCME_RANGE;
|
bcmerror = -EINVAL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -241,30 +241,6 @@ extern struct sk_buff *pktq_mdeq(struct pktq *pq, uint prec_bmp, int *prec_out);
|
||||||
/* ** driver/apps-shared section ** */
|
/* ** driver/apps-shared section ** */
|
||||||
|
|
||||||
#define BCME_STRLEN 64 /* Max string length for BCM errors */
|
#define BCME_STRLEN 64 /* Max string length for BCM errors */
|
||||||
#define VALID_BCMERROR(e) ((e <= 0) && (e >= -BCME_LAST))
|
|
||||||
|
|
||||||
/*
|
|
||||||
* error codes could be added but the defined ones shouldn't be changed/deleted
|
|
||||||
* these error codes are exposed to the user code
|
|
||||||
* when ever a new error code is added to this list
|
|
||||||
* please update errorstring table with the related error string and
|
|
||||||
* update osl files with os specific errorcode map
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define BCME_ERROR 1 /* Error generic */
|
|
||||||
#define BCME_NOTDOWN 5 /* Not down */
|
|
||||||
#define BCME_RADIOOFF 9 /* Radio Off */
|
|
||||||
#define BCME_NOTBANDLOCKED 10 /* Not band locked */
|
|
||||||
#define BCME_NOCLK 11 /* No Clock */
|
|
||||||
#define BCME_BUFTOOLONG 15 /* Buffer too long */
|
|
||||||
#define BCME_NOTREADY 25 /* Not Ready */
|
|
||||||
#define BCME_ASSOCIATED 28 /* Associated */
|
|
||||||
#define BCME_RANGE 29 /* Not In Range */
|
|
||||||
#define BCME_NOTFOUND 30 /* Not Found */
|
|
||||||
#define BCME_SDIO_ERROR 35 /* SDIO Bus Error */
|
|
||||||
#define BCME_DONGLE_DOWN 36 /* Dongle Not Accessible */
|
|
||||||
#define BCME_NONRESIDENT 42 /* access to nonresident overlay */
|
|
||||||
#define BCME_LAST BCME_NONRESIDENT
|
|
||||||
|
|
||||||
#ifndef ABS
|
#ifndef ABS
|
||||||
#define ABS(a) (((a) < 0) ? -(a) : (a))
|
#define ABS(a) (((a) < 0) ? -(a) : (a))
|
||||||
|
|
|
@ -384,7 +384,7 @@ static int ipxotp_read_region(void *oh, int region, u16 *data, uint *wlen)
|
||||||
sz = (uint) oi->hwlim - oi->hwbase;
|
sz = (uint) oi->hwlim - oi->hwbase;
|
||||||
if (!(oi->status & OTPS_GUP_HW)) {
|
if (!(oi->status & OTPS_GUP_HW)) {
|
||||||
*wlen = sz;
|
*wlen = sz;
|
||||||
return -BCME_NOTFOUND;
|
return -ENODATA;
|
||||||
}
|
}
|
||||||
if (*wlen < sz) {
|
if (*wlen < sz) {
|
||||||
*wlen = sz;
|
*wlen = sz;
|
||||||
|
@ -396,7 +396,7 @@ static int ipxotp_read_region(void *oh, int region, u16 *data, uint *wlen)
|
||||||
sz = ((uint) oi->swlim - oi->swbase);
|
sz = ((uint) oi->swlim - oi->swbase);
|
||||||
if (!(oi->status & OTPS_GUP_SW)) {
|
if (!(oi->status & OTPS_GUP_SW)) {
|
||||||
*wlen = sz;
|
*wlen = sz;
|
||||||
return -BCME_NOTFOUND;
|
return -ENODATA;
|
||||||
}
|
}
|
||||||
if (*wlen < sz) {
|
if (*wlen < sz) {
|
||||||
*wlen = sz;
|
*wlen = sz;
|
||||||
|
@ -408,7 +408,7 @@ static int ipxotp_read_region(void *oh, int region, u16 *data, uint *wlen)
|
||||||
sz = OTPGU_CI_SZ;
|
sz = OTPGU_CI_SZ;
|
||||||
if (!(oi->status & OTPS_GUP_CI)) {
|
if (!(oi->status & OTPS_GUP_CI)) {
|
||||||
*wlen = sz;
|
*wlen = sz;
|
||||||
return -BCME_NOTFOUND;
|
return -ENODATA;
|
||||||
}
|
}
|
||||||
if (*wlen < sz) {
|
if (*wlen < sz) {
|
||||||
*wlen = sz;
|
*wlen = sz;
|
||||||
|
@ -420,7 +420,7 @@ static int ipxotp_read_region(void *oh, int region, u16 *data, uint *wlen)
|
||||||
sz = (uint) oi->flim - oi->fbase;
|
sz = (uint) oi->flim - oi->fbase;
|
||||||
if (!(oi->status & OTPS_GUP_FUSE)) {
|
if (!(oi->status & OTPS_GUP_FUSE)) {
|
||||||
*wlen = sz;
|
*wlen = sz;
|
||||||
return -BCME_NOTFOUND;
|
return -ENODATA;
|
||||||
}
|
}
|
||||||
if (*wlen < sz) {
|
if (*wlen < sz) {
|
||||||
*wlen = sz;
|
*wlen = sz;
|
||||||
|
@ -432,7 +432,7 @@ static int ipxotp_read_region(void *oh, int region, u16 *data, uint *wlen)
|
||||||
sz = ((uint) oi->flim - oi->hwbase);
|
sz = ((uint) oi->flim - oi->hwbase);
|
||||||
if (!(oi->status & (OTPS_GUP_HW | OTPS_GUP_SW))) {
|
if (!(oi->status & (OTPS_GUP_HW | OTPS_GUP_SW))) {
|
||||||
*wlen = sz;
|
*wlen = sz;
|
||||||
return -BCME_NOTFOUND;
|
return -ENODATA;
|
||||||
}
|
}
|
||||||
if (*wlen < sz) {
|
if (*wlen < sz) {
|
||||||
*wlen = sz;
|
*wlen = sz;
|
||||||
|
@ -708,7 +708,7 @@ static int hndotp_read_region(void *oh, int region, u16 *data, uint *wlen)
|
||||||
/* Region empty? */
|
/* Region empty? */
|
||||||
st = oi->hwprot | oi->signvalid;
|
st = oi->hwprot | oi->signvalid;
|
||||||
if ((st & region) == 0)
|
if ((st & region) == 0)
|
||||||
return -BCME_NOTFOUND;
|
return -ENODATA;
|
||||||
|
|
||||||
*wlen =
|
*wlen =
|
||||||
((int)*wlen < oi->boundary / 2) ? *wlen : (uint) oi->boundary / 2;
|
((int)*wlen < oi->boundary / 2) ? *wlen : (uint) oi->boundary / 2;
|
||||||
|
@ -926,13 +926,13 @@ otp_read_region(si_t *sih, int region, u16 *data,
|
||||||
si_otp_power(sih, true);
|
si_otp_power(sih, true);
|
||||||
|
|
||||||
if (!si_is_otp_powered(sih) || si_is_otp_disabled(sih)) {
|
if (!si_is_otp_powered(sih) || si_is_otp_disabled(sih)) {
|
||||||
err = -BCME_NOTREADY;
|
err = -EPERM;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
oh = otp_init(sih);
|
oh = otp_init(sih);
|
||||||
if (oh == NULL) {
|
if (oh == NULL) {
|
||||||
err = -BCME_ERROR;
|
err = -EBADE;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -280,7 +280,7 @@ static int otp_read_pci(si_t *sih, u16 *buf, uint bufsz)
|
||||||
|
|
||||||
otp = kzalloc(OTP_SZ_MAX, GFP_ATOMIC);
|
otp = kzalloc(OTP_SZ_MAX, GFP_ATOMIC);
|
||||||
if (otp == NULL) {
|
if (otp == NULL) {
|
||||||
return -BCME_ERROR;
|
return -EBADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = otp_read_region(sih, OTP_HW_RGN, (u16 *) otp, &sz);
|
err = otp_read_region(sih, OTP_HW_RGN, (u16 *) otp, &sz);
|
||||||
|
|
|
@ -519,7 +519,7 @@ int bcm_iovar_lencheck(const bcm_iovar_t *vi, void *arg, int len, bool set)
|
||||||
bcmerror = -ENOTSUPP;
|
bcmerror = -ENOTSUPP;
|
||||||
} else if (len) {
|
} else if (len) {
|
||||||
/* Set is an action w/o parameters */
|
/* Set is an action w/o parameters */
|
||||||
bcmerror = -BCME_BUFTOOLONG;
|
bcmerror = -ENOBUFS;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue