Code cleanup. Bringing driver more inline with Linux code style.
Does not introduce behavioral changes.
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>
ASSERT(bcmsdh);
status = sdioh_interrupt_set(bcmsdh->sdioh, true);
- return SDIOH_API_SUCCESS(status) ? 0 : BCME_ERROR;
+ return SDIOH_API_SUCCESS(status) ? 0 : -BCME_ERROR;
}
int bcmsdh_intr_disable(void *sdh)
ASSERT(bcmsdh);
status = sdioh_interrupt_set(bcmsdh->sdioh, false);
- return SDIOH_API_SUCCESS(status) ? 0 : BCME_ERROR;
+ return SDIOH_API_SUCCESS(status) ? 0 : -BCME_ERROR;
}
int bcmsdh_intr_reg(void *sdh, bcmsdh_cb_fn_t fn, void *argh)
ASSERT(bcmsdh);
status = sdioh_interrupt_register(bcmsdh->sdioh, fn, argh);
- return SDIOH_API_SUCCESS(status) ? 0 : BCME_ERROR;
+ return SDIOH_API_SUCCESS(status) ? 0 : -BCME_ERROR;
}
int bcmsdh_intr_dereg(void *sdh)
ASSERT(bcmsdh);
status = sdioh_interrupt_deregister(bcmsdh->sdioh);
- return SDIOH_API_SUCCESS(status) ? 0 : BCME_ERROR;
+ return SDIOH_API_SUCCESS(status) ? 0 : -BCME_ERROR;
}
#if defined(DHD_DEBUG)
ASSERT(sdh);
/* don't support yet */
- return BCME_UNSUPPORTED;
+ return -BCME_UNSUPPORTED;
}
u8 bcmsdh_cfg_read(void *sdh, uint fnc_num, u32 addr, int *err)
&& (retry++ < SDIOH_API_ACCESS_RETRY_LIMIT));
#endif
if (err)
- *err = (SDIOH_API_SUCCESS(status) ? 0 : BCME_SDIO_ERROR);
+ *err = (SDIOH_API_SUCCESS(status) ? 0 : -BCME_SDIO_ERROR);
BCMSDH_INFO(("%s:fun = %d, addr = 0x%x, u8data = 0x%x\n",
__func__, fnc_num, addr, data));
&& (retry++ < SDIOH_API_ACCESS_RETRY_LIMIT));
#endif
if (err)
- *err = SDIOH_API_SUCCESS(status) ? 0 : BCME_SDIO_ERROR;
+ *err = SDIOH_API_SUCCESS(status) ? 0 : -BCME_SDIO_ERROR;
BCMSDH_INFO(("%s:fun = %d, addr = 0x%x, u8data = 0x%x\n",
__func__, fnc_num, addr, data));
fnc_num, addr, &data, 4);
if (err)
- *err = (SDIOH_API_SUCCESS(status) ? 0 : BCME_SDIO_ERROR);
+ *err = (SDIOH_API_SUCCESS(status) ? 0 : -BCME_SDIO_ERROR);
BCMSDH_INFO(("%s:fun = %d, addr = 0x%x, u32data = 0x%x\n",
__func__, fnc_num, addr, data));
SDIOH_WRITE, fnc_num, addr, &data, 4);
if (err)
- *err = (SDIOH_API_SUCCESS(status) ? 0 : BCME_SDIO_ERROR);
+ *err = (SDIOH_API_SUCCESS(status) ? 0 : -BCME_SDIO_ERROR);
BCMSDH_INFO(("%s:fun = %d, addr = 0x%x, u32data = 0x%x\n",
__func__, fnc_num, addr, data));
tmp_buf = kmalloc(length, GFP_ATOMIC);
if (tmp_buf == NULL) {
BCMSDH_ERROR(("%s: out of memory\n", __func__));
- return BCME_NOMEM;
+ return -BCME_NOMEM;
}
memcpy(tmp_buf, cis, length);
for (tmp_ptr = tmp_buf, ptr = cis; ptr < (cis + length - 4);
kfree(tmp_buf);
}
- return SDIOH_API_SUCCESS(status) ? 0 : BCME_ERROR;
+ return SDIOH_API_SUCCESS(status) ? 0 : -BCME_ERROR;
}
static int bcmsdhsdio_set_sbaddr_window(void *sdh, u32 address)
/* Async not implemented yet */
ASSERT(!(flags & SDIO_REQ_ASYNC));
if (flags & SDIO_REQ_ASYNC)
- return BCME_UNSUPPORTED;
+ return -BCME_UNSUPPORTED;
if (bar0 != bcmsdh->sbwad) {
err = bcmsdhsdio_set_sbaddr_window(bcmsdh, bar0);
SDIOH_READ, fn, addr, width, nbytes, buf,
pkt);
- return SDIOH_API_SUCCESS(status) ? 0 : BCME_SDIO_ERROR;
+ return SDIOH_API_SUCCESS(status) ? 0 : -BCME_SDIO_ERROR;
}
int
/* Async not implemented yet */
ASSERT(!(flags & SDIO_REQ_ASYNC));
if (flags & SDIO_REQ_ASYNC)
- return BCME_UNSUPPORTED;
+ return -BCME_UNSUPPORTED;
if (bar0 != bcmsdh->sbwad) {
err = bcmsdhsdio_set_sbaddr_window(bcmsdh, bar0);
SDIOH_WRITE, fn, addr, width, nbytes, buf,
pkt);
- return SDIOH_API_SUCCESS(status) ? 0 : BCME_ERROR;
+ return SDIOH_API_SUCCESS(status) ? 0 : -BCME_ERROR;
}
int bcmsdh_rwdata(void *sdh, uint rw, u32 addr, u8 *buf, uint nbytes)
(rw ? SDIOH_WRITE : SDIOH_READ), SDIO_FUNC_1,
addr, 4, nbytes, buf, NULL);
- return SDIOH_API_SUCCESS(status) ? 0 : BCME_ERROR;
+ return SDIOH_API_SUCCESS(status) ? 0 : -BCME_ERROR;
}
int bcmsdh_abort(void *sdh, uint fn)
vi = bcm_iovar_lookup(sdioh_iovars, name);
if (vi == NULL) {
- bcmerror = BCME_UNSUPPORTED;
+ bcmerror = -BCME_UNSUPPORTED;
goto exit;
}
case IOV_GVAL(IOV_BLOCKSIZE):
if ((u32) int_val > si->num_funcs) {
- bcmerror = BCME_BADARG;
+ bcmerror = -BCME_BADARG;
break;
}
int_val = (s32) si->client_block_size[int_val];
uint maxsize;
if (func > si->num_funcs) {
- bcmerror = BCME_BADARG;
+ bcmerror = -BCME_BADARG;
break;
}
maxsize = 0;
}
if (blksize > maxsize) {
- bcmerror = BCME_BADARG;
+ bcmerror = -BCME_BADARG;
break;
}
if (!blksize)
|| sd_ptr->offset > SD_MaxCurCap) {
sd_err(("%s: bad offset 0x%x\n", __func__,
sd_ptr->offset));
- bcmerror = BCME_BADARG;
+ bcmerror = -BCME_BADARG;
break;
}
|| sd_ptr->offset > SD_MaxCurCap) {
sd_err(("%s: bad offset 0x%x\n", __func__,
sd_ptr->offset));
- bcmerror = BCME_BADARG;
+ bcmerror = -BCME_BADARG;
break;
}
if (sdioh_cfg_read
(si, sd_ptr->func, sd_ptr->offset, &data)) {
- bcmerror = BCME_SDIO_ERROR;
+ bcmerror = -BCME_SDIO_ERROR;
break;
}
if (sdioh_cfg_write
(si, sd_ptr->func, sd_ptr->offset, &data)) {
- bcmerror = BCME_SDIO_ERROR;
+ bcmerror = -BCME_SDIO_ERROR;
break;
}
break;
}
default:
- bcmerror = BCME_UNSUPPORTED;
+ bcmerror = -BCME_UNSUPPORTED;
break;
}
exit:
sdos = kmalloc(sizeof(struct sdos_info), GFP_ATOMIC);
sd->sdos_info = (void *)sdos;
if (sdos == NULL)
- return BCME_NOMEM;
+ return -BCME_NOMEM;
sdos->sd = sd;
spin_lock_init(&sdos->lock);
dhd_prot_iovar_op(dhd_pub_t *dhdp, const char *name,
void *params, int plen, void *arg, int len, bool set)
{
- return BCME_UNSUPPORTED;
+ return -BCME_UNSUPPORTED;
}
void dhd_prot_dump(dhd_pub_t *dhdp, struct bcmstrbuf *strbuf)
if (pktbuf->len < BDC_HEADER_LEN) {
DHD_ERROR(("%s: rx data too short (%d < %d)\n", __func__,
pktbuf->len, BDC_HEADER_LEN));
- return BCME_ERROR;
+ return -BCME_ERROR;
}
h = (struct bdc_header *)(pktbuf->data);
if (*ifidx >= DHD_MAX_IFS) {
DHD_ERROR(("%s: rx data ifnum out of range (%d)\n",
__func__, *ifidx));
- return BCME_ERROR;
+ return -BCME_ERROR;
}
if (((h->flags & BDC_FLAG_VER_MASK) >> BDC_FLAG_VER_SHIFT) !=
BDC_PROTO_VER) {
DHD_ERROR(("%s: non-BDC packet received, flags 0x%x\n",
dhd_ifname(dhd, *ifidx), h->flags));
- return BCME_ERROR;
+ return -BCME_ERROR;
}
if (h->flags & BDC_FLAG_SUM_GOOD) {
fail:
kfree(cdc);
- return BCME_NOMEM;
+ return -BCME_NOMEM;
}
/* ~NOTE~ What if another thread is waiting on the semaphore? Holding it? */
/* Add any bus info */
dhd_bus_dump(dhdp, strbuf);
- return !strbuf->size ? BCME_BUFTOOSHORT : 0;
+ return !strbuf->size ? -BCME_BUFTOOSHORT : 0;
}
static int
case IOV_SVAL(IOV_WDTICK):
if (!dhd_pub->up) {
- bcmerror = BCME_NOTUP;
+ bcmerror = -BCME_NOTUP;
break;
}
dhd_os_wd_timer(dhd_pub, (uint) int_val);
case IOV_SVAL(IOV_IOCTLTIMEOUT):{
if (int_val <= 0)
- bcmerror = BCME_BADARG;
+ bcmerror = -BCME_BADARG;
else
dhd_os_set_ioctl_resp_timeout((unsigned int)
int_val);
}
default:
- bcmerror = BCME_UNSUPPORTED;
+ bcmerror = -BCME_UNSUPPORTED;
break;
}
vi = bcm_iovar_lookup(dhd_iovars, name);
if (vi == NULL) {
- bcmerror = BCME_UNSUPPORTED;
+ bcmerror = -BCME_UNSUPPORTED;
goto exit;
}
DHD_TRACE(("%s: Enter\n", __func__));
if (!buf)
- return BCME_BADARG;
+ return -BCME_BADARG;
switch (ioc->cmd) {
case DHD_GET_MAGIC:
if (buflen < sizeof(int))
- bcmerror = BCME_BUFTOOSHORT;
+ bcmerror = -BCME_BUFTOOSHORT;
else
*(int *)buf = DHD_IOCTL_MAGIC;
break;
case DHD_GET_VERSION:
if (buflen < sizeof(int))
- bcmerror = -BCME_BUFTOOSHORT;
+ bcmerror = BCME_BUFTOOSHORT;
else
*(int *)buf = DHD_IOCTL_VERSION;
break;
;
if (*arg) {
- bcmerror = BCME_BUFTOOSHORT;
+ bcmerror = -BCME_BUFTOOSHORT;
break;
}
bcmerror =
dhd_iovar_op(dhd_pub, buf, NULL, 0, arg,
arglen, IOV_SET);
- if (bcmerror != BCME_UNSUPPORTED)
+ if (bcmerror != -BCME_UNSUPPORTED)
break;
/* not in generic table, try protocol module */
bcmerror = dhd_prot_iovar_op(dhd_pub, buf,
NULL, 0, arg,
arglen, IOV_SET);
- if (bcmerror != BCME_UNSUPPORTED)
+ if (bcmerror != -BCME_UNSUPPORTED)
break;
/* if still not found, try bus module */
}
default:
- bcmerror = BCME_UNSUPPORTED;
+ bcmerror = -BCME_UNSUPPORTED;
}
return bcmerror;
if (memcmp(BRCM_OUI, &pvt_data->bcm_hdr.oui[0], DOT11_OUI_LEN)) {
DHD_ERROR(("%s: mismatched OUI, bailing\n", __func__));
- return BCME_ERROR;
+ return -BCME_ERROR;
}
/* BRCM event pkt may be unaligned - use xxx_ua to load user_subtype. */
if (get_unaligned_be16(&pvt_data->bcm_hdr.usr_subtype) !=
BCMILCP_BCM_SUBTYPE_EVENT) {
DHD_ERROR(("%s: mismatched subtype, bailing\n", __func__));
- return BCME_ERROR;
+ return -BCME_ERROR;
}
*data_ptr = &pvt_data[1];
}
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 */
+ -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)
/* Copy the ioc control structure part of ioctl request */
if (copy_from_user(&ioc, ifr->ifr_data, sizeof(wl_ioctl_t))) {
- bcmerror = -BCME_BADADDR;
+ bcmerror = BCME_BADADDR;
goto done;
}
{
buf = kmalloc(buflen, GFP_ATOMIC);
if (!buf) {
- bcmerror = -BCME_NOMEM;
+ bcmerror = BCME_NOMEM;
goto done;
}
if (copy_from_user(buf, ioc.buf, buflen)) {
- bcmerror = -BCME_BADADDR;
+ bcmerror = BCME_BADADDR;
goto done;
}
}
/* To differentiate between wl and dhd read 4 more byes */
if ((copy_from_user(&driver, (char *)ifr->ifr_data + sizeof(wl_ioctl_t),
sizeof(uint)) != 0)) {
- bcmerror = -BCME_BADADDR;
+ bcmerror = BCME_BADADDR;
goto done;
}
if (!capable(CAP_NET_ADMIN)) {
- bcmerror = -BCME_EPERM;
+ bcmerror = BCME_EPERM;
goto done;
}
/* send to dongle (must be up, and wl) */
if ((dhd->pub.busstate != DHD_BUS_DATA)) {
DHD_ERROR(("%s DONGLE_DOWN,__func__\n", __func__));
- bcmerror = BCME_DONGLE_DOWN;
+ bcmerror = -BCME_DONGLE_DOWN;
goto done;
}
if (!dhd->pub.iswl) {
- bcmerror = BCME_DONGLE_DOWN;
+ bcmerror = -BCME_DONGLE_DOWN;
goto done;
}
if (bcmerror > 0)
bcmerror = 0;
- else if (bcmerror < BCME_LAST)
- bcmerror = BCME_ERROR;
+ else if (bcmerror < -BCME_LAST)
+ bcmerror = -BCME_ERROR;
return linuxbcmerrormap[-bcmerror];
}
fail:
net->netdev_ops = NULL;
- return BCME_ERROR;
+ return -BCME_ERROR;
}
void dhd_bus_detach(dhd_pub_t *dhdp)
if (err) {
DHD_ERROR(("%s: HT Avail request error: %d\n",
__func__, err));
- return BCME_ERROR;
+ return -BCME_ERROR;
}
if (pendok && ((bus->ci->buscoretype == PCMCIA_CORE_ID)
if (err) {
DHD_ERROR(("%s: HT Avail read error: %d\n",
__func__, err));
- return BCME_ERROR;
+ return -BCME_ERROR;
}
/* Go to pending and await interrupt if appropriate */
if (err) {
DHD_ERROR(("%s: Devctl error setting CA: %d\n",
__func__, err));
- return BCME_ERROR;
+ return -BCME_ERROR;
}
devctl |= SBSDIO_DEVCTL_CA_INT_ONLY;
if (err) {
DHD_ERROR(("%s: HT Avail request error: %d\n",
__func__, err));
- return BCME_ERROR;
+ return -BCME_ERROR;
}
if (!SBSDIO_CLKAV(clkctl, bus->alp_only)) {
DHD_ERROR(("%s: HT Avail timeout (%d): clkctl 0x%02x\n",
__func__, PMU_MAX_TRANSITION_DLY, clkctl));
- return BCME_ERROR;
+ return -BCME_ERROR;
}
/* Mark clock available */
if (err) {
DHD_ERROR(("%s: Failed access turning clock off: %d\n",
__func__, err));
- return BCME_ERROR;
+ return -BCME_ERROR;
}
}
return 0;
if (err) {
DHD_ERROR(("%s: error enabling sd_clock: %d\n",
__func__, err));
- return BCME_ERROR;
+ return -BCME_ERROR;
}
iovalue = bus->sd_mode;
if (err) {
DHD_ERROR(("%s: error changing sd_mode: %d\n",
__func__, err));
- return BCME_ERROR;
+ return -BCME_ERROR;
}
} else if (bus->idleclock != DHD_IDLE_ACTIVE) {
/* Restore clock speed */
if (err) {
DHD_ERROR(("%s: error restoring sd_divisor: %d\n",
__func__, err));
- return BCME_ERROR;
+ return -BCME_ERROR;
}
}
bus->clkstate = CLK_SDONLY;
if ((bus->sd_divisor == -1) || (bus->sd_mode == -1)) {
DHD_TRACE(("%s: can't idle clock, divisor %d mode %d\n",
__func__, bus->sd_divisor, bus->sd_mode));
- return BCME_ERROR;
+ return -BCME_ERROR;
}
if (bus->idleclock == DHD_IDLE_STOP) {
if (sd1idle) {
if (err) {
DHD_ERROR(("%s: error changing sd_clock: %d\n",
__func__, err));
- return BCME_ERROR;
+ return -BCME_ERROR;
}
}
if (err) {
DHD_ERROR(("%s: error disabling sd_clock: %d\n",
__func__, err));
- return BCME_ERROR;
+ return -BCME_ERROR;
}
} else if (bus->idleclock != DHD_IDLE_ACTIVE) {
/* Set divisor to idle value */
if (err) {
DHD_ERROR(("%s: error changing sd_divisor: %d\n",
__func__, err));
- return BCME_ERROR;
+ return -BCME_ERROR;
}
}
bus->clkstate = CLK_NONE;
if (sleep) {
/* Don't sleep if something is pending */
if (bus->dpc_sched || bus->rxskip || pktq_len(&bus->txq))
- return BCME_BUSY;
+ return -BCME_BUSY;
/* Disable SDIO interrupts (no longer interested) */
bcmsdh_intr_disable(bus->sdh);
sdh = bus->sdh;
if (bus->dhd->dongle_reset) {
- ret = BCME_NOTREADY;
+ ret = -BCME_NOTREADY;
goto done;
}
DHD_ERROR(("%s: couldn't allocate new %d-byte "
"packet\n",
__func__, pkt->len + DHD_SDALIGN));
- ret = BCME_NOMEM;
+ ret = -BCME_NOMEM;
goto done;
}
dhd_bcmsdh_send_buf(bus, bcmsdh_cur_sbwad(sdh), SDIO_FUNC_2,
F2SYNC, frame, len, pkt, NULL, NULL);
bus->f2txdata++;
- ASSERT(ret != BCME_PENDING);
+ ASSERT(ret != -BCME_PENDING);
if (ret < 0) {
/* On failure, abort the command
int dhd_bus_txdata(struct dhd_bus *bus, struct sk_buff *pkt)
{
- int ret = BCME_ERROR;
+ int ret = -BCME_ERROR;
uint datalen, prec;
DHD_TRACE(("%s: Enter\n", __func__));
dhd_txcomplete(bus->dhd, pkt, false);
pkt_buf_free_skb(pkt);
DHD_ERROR(("%s: out of bus->txq !!!\n", __func__));
- ret = BCME_NORESOURCE;
+ ret = -BCME_NORESOURCE;
} else {
ret = 0;
}
SDIO_FUNC_2, F2SYNC, frame, len,
NULL, NULL, NULL);
- ASSERT(ret != BCME_PENDING);
+ ASSERT(ret != -BCME_PENDING);
if (ret < 0) {
/* On failure, abort the command and
memcpy(&pktgen, arg, sizeof(pktgen));
if (pktgen.version != DHD_PKTGEN_VERSION)
- return BCME_BADARG;
+ return -BCME_BADARG;
oldcnt = bus->pktgen_count;
oldmode = bus->pktgen_mode;
if (addr == 0 || ((~addr >> 16) & 0xffff) == (addr & 0xffff)) {
DHD_ERROR(("%s: address (0x%08x) of sdpcm_shared invalid\n",
__func__, addr));
- return BCME_ERROR;
+ return -BCME_ERROR;
}
/* Read hndrte_shared structure */
"is different than sdpcm_shared version %d in dongle\n",
__func__, SDPCM_SHARED_VERSION,
sh->flags & SDPCM_SHARED_VERSION_MASK));
- return BCME_ERROR;
+ return -BCME_ERROR;
}
return 0;
if (mbuffer == NULL) {
DHD_ERROR(("%s: kmalloc(%d) failed\n", __func__,
msize));
- bcmerror = BCME_NOMEM;
+ bcmerror = -BCME_NOMEM;
goto done;
}
}
str = kmalloc(maxstrlen, GFP_ATOMIC);
if (str == NULL) {
DHD_ERROR(("%s: kmalloc(%d) failed\n", __func__, maxstrlen));
- bcmerror = BCME_NOMEM;
+ bcmerror = -BCME_NOMEM;
goto done;
}
c->bufsize = le32_to_cpu(c->log.buf_size);
c->buf = kmalloc(c->bufsize, GFP_ATOMIC);
if (c->buf == NULL)
- return BCME_NOMEM;
+ return -BCME_NOMEM;
}
idx = le32_to_cpu(c->log.idx);
/* Protect against corrupt value */
if (idx > c->bufsize)
- return BCME_ERROR;
+ return -BCME_ERROR;
/* Skip reading the console buffer if the index pointer
has not moved */
/* Basic sanity checks */
if (bus->dhd->up) {
- bcmerror = BCME_NOTDOWN;
+ bcmerror = -BCME_NOTDOWN;
goto err;
}
if (!len) {
- bcmerror = BCME_BUFTOOSHORT;
+ bcmerror = -BCME_BUFTOOSHORT;
goto err;
}
bus->vars = kmalloc(len, GFP_ATOMIC);
bus->varsz = bus->vars ? len : 0;
if (bus->vars == NULL) {
- bcmerror = BCME_NOMEM;
+ bcmerror = -BCME_NOMEM;
goto err;
}
/* Check if dongle is in reset. If so, only allow DEVRESET iovars */
if (bus->dhd->dongle_reset && !(actionid == IOV_SVAL(IOV_DEVRESET) ||
actionid == IOV_GVAL(IOV_DEVRESET))) {
- bcmerror = BCME_NOTREADY;
+ bcmerror = -BCME_NOTREADY;
goto exit;
}
case IOV_SVAL(IOV_IDLETIME):
if ((int_val < 0) && (int_val != DHD_IDLE_IMMEDIATE))
- bcmerror = BCME_BADARG;
+ bcmerror = -BCME_BADARG;
else
bus->idletime = int_val;
break;
"0x%08x size %d dsize %d\n",
__func__, (set ? "set" : "get"),
address, size, dsize));
- bcmerror = BCME_BADARG;
+ bcmerror = -BCME_BADARG;
break;
}
DHD_ERROR(("%s: ramsize 0x%08x doesn't have %d "
"bytes at 0x%08x\n",
__func__, bus->orig_ramsize, size, address));
- bcmerror = BCME_BADARG;
+ bcmerror = -BCME_BADARG;
break;
}
case IOV_SVAL(IOV_SDRXCHAIN):
if (bool_val && !bus->sd_rxchain)
- bcmerror = BCME_UNSUPPORTED;
+ bcmerror = -BCME_UNSUPPORTED;
else
bus->use_rxchain = bool_val;
break;
if (bus->varsz < (uint) len)
memcpy(arg, bus->vars, bus->varsz);
else
- bcmerror = BCME_BUFTOOSHORT;
+ bcmerror = -BCME_BUFTOOSHORT;
break;
#endif /* DHD_DEBUG */
size = sd_ptr->func;
int_val = (s32) bcmsdh_reg_read(bus->sdh, addr, size);
if (bcmsdh_regfail(bus->sdh))
- bcmerror = BCME_SDIO_ERROR;
+ bcmerror = -BCME_SDIO_ERROR;
memcpy(arg, &int_val, sizeof(s32));
break;
}
size = sd_ptr->func;
bcmsdh_reg_write(bus->sdh, addr, size, sd_ptr->value);
if (bcmsdh_regfail(bus->sdh))
- bcmerror = BCME_SDIO_ERROR;
+ bcmerror = -BCME_SDIO_ERROR;
break;
}
size = sdreg.func;
int_val = (s32) bcmsdh_reg_read(bus->sdh, addr, size);
if (bcmsdh_regfail(bus->sdh))
- bcmerror = BCME_SDIO_ERROR;
+ bcmerror = -BCME_SDIO_ERROR;
memcpy(arg, &int_val, sizeof(s32));
break;
}
size = sdreg.func;
bcmsdh_reg_write(bus->sdh, addr, size, sdreg.value);
if (bcmsdh_regfail(bus->sdh))
- bcmerror = BCME_SDIO_ERROR;
+ bcmerror = -BCME_SDIO_ERROR;
break;
}
break;
default:
- bcmerror = BCME_UNSUPPORTED;
+ bcmerror = -BCME_UNSUPPORTED;
break;
}
if (bus->vars) {
vbuffer = kzalloc(varsize, GFP_ATOMIC);
if (!vbuffer)
- return BCME_NOMEM;
+ return -BCME_NOMEM;
memcpy(vbuffer, bus->vars, bus->varsz);
DHD_INFO(("Compare NVRAM dl & ul; varsize=%d\n", varsize));
nvram_ularray = kmalloc(varsize, GFP_ATOMIC);
if (!nvram_ularray)
- return BCME_NOMEM;
+ return -BCME_NOMEM;
/* Upload image to verify downloaded contents. */
memset(nvram_ularray, 0xaa, varsize);
if ((SICF_CLOCK_EN << SBTML_SICF_SHIFT) != regdata) {
DHD_ERROR(("%s: SOCRAM core is down after reset?\n",
__func__));
- bcmerror = BCME_ERROR;
+ bcmerror = -BCME_ERROR;
goto fail;
}
(bus->rxctl + firstread), rdlen, NULL, NULL,
NULL);
bus->f2rxdata++;
- ASSERT(sdret != BCME_PENDING);
+ ASSERT(sdret != -BCME_PENDING);
/* Control frame failures need retransmission */
if (sdret < 0) {
errcode = -1;
}
bus->f2rxdata++;
- ASSERT(errcode != BCME_PENDING);
+ ASSERT(errcode != -BCME_PENDING);
/* On failure, kill the superframe, allow a couple retries */
if (errcode < 0) {
rdlen, NULL,
NULL, NULL);
bus->f2rxdata++;
- ASSERT(sdret != BCME_PENDING);
+ ASSERT(sdret != -BCME_PENDING);
/* Control frame failures need
retransmission */
rxbuf, rdlen, pkt, NULL,
NULL);
bus->f2rxdata++;
- ASSERT(sdret != BCME_PENDING);
+ ASSERT(sdret != -BCME_PENDING);
if (sdret < 0) {
DHD_ERROR(("%s (nextlen): read %d bytes failed: %d\n",
F2SYNC, bus->rxhdr, firstread, NULL,
NULL, NULL);
bus->f2rxhdrs++;
- ASSERT(sdret != BCME_PENDING);
+ ASSERT(sdret != -BCME_PENDING);
if (sdret < 0) {
DHD_ERROR(("%s: RXHEADER FAILED: %d\n", __func__,
F2SYNC, ((u8 *) (pkt->data)), rdlen,
pkt, NULL, NULL);
bus->f2rxdata++;
- ASSERT(sdret != BCME_PENDING);
+ ASSERT(sdret != -BCME_PENDING);
if (sdret < 0) {
DHD_ERROR(("%s: read %d %s bytes failed: %d\n",
F2SYNC, (u8 *) bus->ctrl_frame_buf,
(u32) bus->ctrl_frame_len, NULL,
NULL, NULL);
- ASSERT(ret != BCME_PENDING);
+ ASSERT(ret != -BCME_PENDING);
if (ret < 0) {
/* On failure, abort the command and
/* Address could be zero if CONSOLE := 0 in dongle Makefile */
if (bus->console_addr == 0)
- return BCME_UNSUPPORTED;
+ return -BCME_UNSUPPORTED;
/* Exclusive bus access */
dhd_os_sdlock(bus->dhd);
/* Don't allow input if dongle is in reset */
if (bus->dhd->dongle_reset) {
dhd_os_sdunlock(bus->dhd);
- return BCME_NOTREADY;
+ return -BCME_NOTREADY;
}
/* Request clock to allow SDIO accesses */
/* if firmware path present try to download and bring up bus */
ret = dhd_bus_start(bus->dhd);
if (ret != 0) {
- if (ret == BCME_NOTUP) {
+ if (ret == -BCME_NOTUP) {
DHD_ERROR(("%s: dongle is not responding\n", __func__));
goto fail;
}
ularray = kmalloc(bus->ramsize, GFP_ATOMIC);
if (!ularray) {
- bcmerror = BCME_NOMEM;
+ bcmerror = -BCME_NOMEM;
goto err;
}
/* Upload image to verify downloaded contents. */
} else {
DHD_ERROR(("%s: error reading nvram file: %d\n",
__func__, len));
- bcmerror = BCME_SDIO_ERROR;
+ bcmerror = -BCME_SDIO_ERROR;
}
err:
DHD_TRACE(("%s: WLAN OFF DONE\n", __func__));
/* App can now remove power from device */
} else
- bcmerror = BCME_SDIO_ERROR;
+ bcmerror = -BCME_SDIO_ERROR;
} else {
/* App must have restored power to device before calling */
DHD_TRACE(("%s: WLAN ON DONE\n",
__func__));
} else
- bcmerror = BCME_SDIO_ERROR;
+ bcmerror = -BCME_SDIO_ERROR;
} else
- bcmerror = BCME_SDIO_ERROR;
+ bcmerror = -BCME_SDIO_ERROR;
} else {
- bcmerror = BCME_NOTDOWN;
+ bcmerror = -BCME_NOTDOWN;
DHD_ERROR(("%s: Set DEVRESET=false invoked when device "
"is on\n", __func__));
- bcmerror = BCME_SDIO_ERROR;
+ bcmerror = -BCME_SDIO_ERROR;
}
}
return bcmerror;
num_samps =
wlc_phy_gen_load_samples_nphy(pi, f_kHz, max_val, dac_test_mode);
if (num_samps == 0) {
- return BCME_ERROR;
+ return -BCME_ERROR;
}
wlc_phy_runsamples_nphy(pi, num_samps, loops, wait, iqmode,
}
if ((ii + qq) < NPHY_MIN_RXIQ_PWR) {
- bcmerror = BCME_ERROR;
+ bcmerror = -BCME_ERROR;
break;
}
a = (-(iq << (30 - iq_nbits)) + (ii >> (1 + arsh)));
temp = (s32) (ii >> arsh);
if (temp == 0) {
- bcmerror = BCME_ERROR;
+ bcmerror = -BCME_ERROR;
break;
}
} else {
a = (-(iq << (30 - iq_nbits)) + (ii << (-1 - arsh)));
temp = (s32) (ii << -arsh);
if (temp == 0) {
- bcmerror = BCME_ERROR;
+ bcmerror = -BCME_ERROR;
break;
}
}
b = (qq << (31 - qq_nbits));
temp = (s32) (ii >> brsh);
if (temp == 0) {
- bcmerror = BCME_ERROR;
+ bcmerror = -BCME_ERROR;
break;
}
} else {
b = (qq << (31 - qq_nbits));
temp = (s32) (ii << -brsh);
if (temp == 0) {
- bcmerror = BCME_ERROR;
+ bcmerror = -BCME_ERROR;
break;
}
}
WL_ERROR("ERROR: ucode buf tag:%d can not be found!\n", idx);
*pbuf = NULL;
fail:
- return BCME_NOTFOUND;
+ return -BCME_NOTFOUND;
}
/*
/* Let pressure continue to build ... */
qlen = pktq_plen(&qi->q, prec);
if (ini->tx_in_transit > 0 && qlen < scb_ampdu->max_pdu) {
- return BCME_BUSY;
+ return -BCME_BUSY;
}
wlc_ampdu_agg(ampdu, scb, p, tid);
if (wlc->block_datafifo) {
WL_ERROR("%s: Fifo blocked\n", __func__);
- return BCME_BUSY;
+ return -BCME_BUSY;
}
rr_retry_limit = ampdu->rr_retry_limit_tid[tid];
ampdu_len = 0;
}
if (err) {
- if (err == BCME_BUSY) {
+ if (err == -BCME_BUSY) {
WL_ERROR("wl%d: wlc_sendampdu: prep_xdu retry; seq 0x%x\n",
wlc->pub->unit, seq);
WLCNTINCR(ampdu->cnt->sduretry);
if (!N_ENAB(wlc->pub)) {
WL_AMPDU_ERR("wl%d: driver not nmode enabled\n",
wlc->pub->unit);
- return BCME_UNSUPPORTED;
+ return -BCME_UNSUPPORTED;
}
if (!wlc_ampdu_cap(ampdu)) {
WL_AMPDU_ERR("wl%d: device not ampdu capable\n",
wlc->pub->unit);
- return BCME_UNSUPPORTED;
+ return -BCME_UNSUPPORTED;
}
wlc->pub->_ampdu = on;
}
if (wlc_hw->sih->bustype == PCI_BUS)
si_pci_down(wlc_hw->sih);
wlc_bmac_xtal(wlc_hw, OFF);
- return BCME_RADIOOFF;
+ return -BCME_RADIOOFF;
}
if (wlc_hw->sih->bustype == PCI_BUS)
int wlc_bmac_xmtfifo_sz_get(struct wlc_hw_info *wlc_hw, uint fifo, uint *blocks)
{
if (fifo >= NFIFO)
- return BCME_RANGE;
+ return -BCME_RANGE;
*blocks = wlc_hw->xmtfifo_sz[fifo];
}
if (country == NULL)
- return BCME_BADARG;
+ return -BCME_BADARG;
/* set the driver state for the country */
wlc_set_country_common(wlc_cm, country_abbrev, mapped_ccode,
#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 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) (-BCME_ERROR)
#define wlc_key_update(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_hw_init(a, b, c) 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_create(a, b, c) (BCME_ERROR)
+#define wlc_key_sw_wowl_create(a, b, c) (-BCME_ERROR)
#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_set_error(a, b, c) (BCME_ERROR)
-#define wlc_key_dump_hw(a, b) (BCME_ERROR)
-#define wlc_key_dump_sw(a, b) (BCME_ERROR)
+#define wlc_key_set_error(a, b, c) (-BCME_ERROR)
+#define wlc_key_dump_hw(a, b) (-BCME_ERROR)
+#define wlc_key_dump_sw(a, b) (-BCME_ERROR)
#define wlc_key_defkeyflag(a) (0)
#define wlc_rcmta_add_bssid(a, b) do {} while (0)
#define wlc_rcmta_del_bssid(a, b) do {} while (0)
if (len == sizeof(tx_power_legacy_t))
old_power = (tx_power_legacy_t *) pwr;
else if (len < sizeof(tx_power_t))
- return BCME_BUFTOOSHORT;
+ return -BCME_BUFTOOSHORT;
memset(&power, 0, sizeof(tx_power_t));
/* HW is turned off so don't try to access it */
if (wlc->pub->hw_off || DEVICEREMOVED(wlc))
- return BCME_RADIOOFF;
+ return -BCME_RADIOOFF;
if (!wlc->pub->hw_up) {
wlc_bmac_hw_up(wlc->hw);
* if radio is disabled, abort up, lower power, start radio timer and return 0(for NDIS)
* don't call radio_update to avoid looping wlc_up.
*
- * wlc_bmac_up_prep() returns either 0 or BCME_RADIOOFF only
+ * wlc_bmac_up_prep() returns either 0 or -BCME_RADIOOFF only
*/
if (!wlc->pub->radio_disabled) {
int status = wlc_bmac_up_prep(wlc->hw);
- if (status == BCME_RADIOOFF) {
+ if (status == -BCME_RADIOOFF) {
if (!mboolisset
(wlc->pub->radio_disabled, WL_RADIO_HW_DISABLE)) {
int idx;
* Gmode is not GMODE_LEGACY_B
*/
if (N_ENAB(wlc->pub) && gmode == GMODE_LEGACY_B)
- return BCME_UNSUPPORTED;
+ return -BCME_UNSUPPORTED;
/* verify that we are dealing with 2G band and grab the band pointer */
if (wlc->band->bandtype == WLC_BAND_2G)
(wlc->bandstate[OTHERBANDUNIT(wlc)]->bandtype == WLC_BAND_2G))
band = wlc->bandstate[OTHERBANDUNIT(wlc)];
else
- return BCME_BADBAND;
+ return -BCME_BADBAND;
/* Legacy or bust when no OFDM is supported by regulatory */
if ((wlc_channel_locale_flags_in_band(wlc->cmi, band->bandunit) &
WLC_NO_OFDM) && (gmode != GMODE_LEGACY_B))
- return BCME_RANGE;
+ return -BCME_RANGE;
/* update configuration value */
if (config == true)
/* Error */
WL_ERROR("wl%d: %s: invalid gmode %d\n",
wlc->pub->unit, __func__, gmode);
- return BCME_UNSUPPORTED;
+ return -BCME_UNSUPPORTED;
}
/*
case WL_11N_2x2:
case WL_11N_3x3:
if (!(WLC_PHY_11N_CAP(wlc->band)))
- err = BCME_BADBAND;
+ err = -BCME_BADBAND;
break;
default:
- err = BCME_RANGE;
+ err = -BCME_RANGE;
break;
}
/* check for bad count value */
if ((rs.count == 0) || (rs.count > WLC_NUMRATES))
- return BCME_BADRATESET;
+ return -BCME_BADRATESET;
/* try the current band */
bandunit = wlc->band->bandunit;
goto good;
}
- return BCME_ERROR;
+ return -BCME_ERROR;
good:
/* apply new rateset */
if (!wlc->pub->hw_off && DEVICEREMOVED(wlc)) {
WL_ERROR("wl%d: %s: dead chip\n", wlc->pub->unit, __func__);
wl_down(wlc->wl);
- return BCME_ERROR;
+ return -BCME_ERROR;
}
ASSERT(!(wlc->pub->hw_off && wlc->pub->up));
if ((arg == NULL) || (len <= 0)) {
WL_ERROR("wl%d: %s: Command %d needs arguments\n",
wlc->pub->unit, __func__, cmd);
- bcmerror = BCME_BADARG;
+ bcmerror = -BCME_BADARG;
goto done;
}
}
chanspec_t chspec = CH20MHZ_CHSPEC(val);
if (val < 0 || val > MAXCHANNEL) {
- bcmerror = BCME_OUTOFRANGECHAN;
+ bcmerror = -BCME_OUTOFRANGECHAN;
break;
}
if (!wlc_valid_chanspec_db(wlc->cmi, chspec)) {
- bcmerror = BCME_BADCHAN;
+ bcmerror = -BCME_BADCHAN;
break;
}
#if defined(BCMDBG)
case WLC_GET_UCFLAGS:
if (!wlc->pub->up) {
- bcmerror = BCME_NOTUP;
+ bcmerror = -BCME_NOTUP;
break;
}
break;
if (val >= MHFMAX) {
- bcmerror = BCME_RANGE;
+ bcmerror = -BCME_RANGE;
break;
}
case WLC_SET_UCFLAGS:
if (!wlc->pub->up) {
- bcmerror = BCME_NOTUP;
+ bcmerror = -BCME_NOTUP;
break;
}
i = (u16) val;
if (i >= MHFMAX) {
- bcmerror = BCME_RANGE;
+ bcmerror = -BCME_RANGE;
break;
}
break;
if (val & 1) {
- bcmerror = BCME_BADADDR;
+ bcmerror = -BCME_BADADDR;
break;
}
break;
if (val & 1) {
- bcmerror = BCME_BADADDR;
+ bcmerror = -BCME_BADADDR;
break;
}
band = WLC_BAND_AUTO;
if (len < (int)(sizeof(rw_reg_t) - sizeof(uint))) {
- bcmerror = BCME_BUFTOOSHORT;
+ bcmerror = -BCME_BUFTOOSHORT;
break;
}
break;
if ((r->byteoff + r->size) > sizeof(d11regs_t)) {
- bcmerror = BCME_BADADDR;
+ bcmerror = -BCME_BADADDR;
break;
}
if (r->size == sizeof(u32))
R_REG((u16 *)((unsigned char *)(unsigned long)regs +
r->byteoff));
else
- bcmerror = BCME_BADADDR;
+ bcmerror = -BCME_BADADDR;
break;
case WLC_W_REG:
band = WLC_BAND_AUTO;
if (len < (int)(sizeof(rw_reg_t) - sizeof(uint))) {
- bcmerror = BCME_BUFTOOSHORT;
+ bcmerror = -BCME_BUFTOOSHORT;
break;
}
break;
if (r->byteoff + r->size > sizeof(d11regs_t)) {
- bcmerror = BCME_BADADDR;
+ bcmerror = -BCME_BADADDR;
break;
}
if (r->size == sizeof(u32))
W_REG((u16 *)((unsigned char *)(unsigned long) regs +
r->byteoff), r->val);
else
- bcmerror = BCME_BADADDR;
+ bcmerror = -BCME_BADADDR;
break;
#endif /* BCMDBG */
case WLC_SET_ANTDIV:
/* values are -1=driver default, 0=force0, 1=force1, 2=start1, 3=start0 */
if ((val < -1) || (val > 3)) {
- bcmerror = BCME_RANGE;
+ bcmerror = -BCME_RANGE;
break;
}
u16 rxstatus;
if (!wlc->pub->up) {
- bcmerror = BCME_NOTUP;
+ bcmerror = -BCME_NOTUP;
break;
}
rxstatus = R_REG(&wlc->regs->phyrxstatus0);
if (rxstatus == 0xdead || rxstatus == (u16) -1) {
- bcmerror = BCME_ERROR;
+ bcmerror = -BCME_ERROR;
break;
}
*pval = (rxstatus & PRXS0_RXANT_UPSUBBAND) ? 1 : 0;
#if defined(BCMDBG)
case WLC_GET_UCANTDIV:
if (!wlc->clk) {
- bcmerror = BCME_NOCLK;
+ bcmerror = -BCME_NOCLK;
break;
}
case WLC_SET_UCANTDIV:{
if (!wlc->pub->up) {
- bcmerror = BCME_NOTUP;
+ bcmerror = -BCME_NOTUP;
break;
}
/* if multiband, band must be locked */
if (IS_MBAND_UNLOCKED(wlc)) {
- bcmerror = BCME_NOTBANDLOCKED;
+ bcmerror = -BCME_NOTBANDLOCKED;
break;
}
}
wlc_wme_retries_write(wlc);
} else
- bcmerror = BCME_RANGE;
+ bcmerror = -BCME_RANGE;
break;
case WLC_GET_LRL:
}
wlc_wme_retries_write(wlc);
} else
- bcmerror = BCME_RANGE;
+ bcmerror = -BCME_RANGE;
break;
case WLC_GET_CWMIN:
case WLC_SET_CWMIN:
if (!wlc->clk) {
- bcmerror = BCME_NOCLK;
+ bcmerror = -BCME_NOCLK;
break;
}
if (val >= 1 && val <= 255) {
wlc_set_cwmin(wlc, (u16) val);
} else
- bcmerror = BCME_RANGE;
+ bcmerror = -BCME_RANGE;
break;
case WLC_GET_CWMAX:
case WLC_SET_CWMAX:
if (!wlc->clk) {
- bcmerror = BCME_NOCLK;
+ bcmerror = -BCME_NOCLK;
break;
}
if (val >= 255 && val <= 2047) {
wlc_set_cwmax(wlc, (u16) val);
} else
- bcmerror = BCME_RANGE;
+ bcmerror = -BCME_RANGE;
break;
case WLC_GET_RADIO: /* use mask if don't want to expose some internal bits */
|| ((radioval & ~radiomask) != 0)) {
WL_ERROR("SET_RADIO with wrong bits 0x%x\n",
val);
- bcmerror = BCME_RANGE;
+ bcmerror = -BCME_RANGE;
break;
}
wsec_key_t *src_key = wlc->wsec_keys[val];
if (len < (int)sizeof(key)) {
- bcmerror = BCME_BUFTOOSHORT;
+ bcmerror = -BCME_BUFTOOSHORT;
break;
}
memcpy(arg, &key, sizeof(key));
} else
- bcmerror = BCME_BADKEYIDX;
+ bcmerror = -BCME_BADKEYIDX;
break;
#endif /* defined(BCMDBG) */
wsec_key_t *key;
if (len < DOT11_WPA_KEY_RSC_LEN) {
- bcmerror = BCME_BUFTOOSHORT;
+ bcmerror = -BCME_BUFTOOSHORT;
break;
}
memcpy(arg, seq, sizeof(seq));
} else {
- bcmerror = BCME_BADKEYIDX;
+ bcmerror = -BCME_BADKEYIDX;
}
break;
}
rs = &wlc->default_bss->rateset;
if (len < (int)(rs->count + sizeof(rs->count))) {
- bcmerror = BCME_BUFTOOSHORT;
+ bcmerror = -BCME_BUFTOOSHORT;
break;
}
wlc_default_rateset(wlc, (wlc_rateset_t *) &rs);
if (len < (int)(rs.count + sizeof(rs.count))) {
- bcmerror = BCME_BUFTOOSHORT;
+ bcmerror = -BCME_BUFTOOSHORT;
break;
}
wl_rateset_t *in_rs = (wl_rateset_t *) arg;
if (len < (int)(in_rs->count + sizeof(in_rs->count))) {
- bcmerror = BCME_BUFTOOSHORT;
+ bcmerror = -BCME_BUFTOOSHORT;
break;
}
if (in_rs->count > WLC_NUMRATES) {
- bcmerror = BCME_BUFTOOLONG;
+ bcmerror = -BCME_BUFTOOLONG;
break;
}
&& val <= DOT11_MAX_BEACON_PERIOD) {
wlc->default_bss->beacon_period = (u16) val;
} else
- bcmerror = BCME_RANGE;
+ bcmerror = -BCME_RANGE;
break;
case WLC_GET_DTIMPRD:
&& val <= DOT11_MAX_DTIM_PERIOD) {
wlc->default_bss->dtim_period = (u8) val;
} else
- bcmerror = BCME_RANGE;
+ bcmerror = -BCME_RANGE;
break;
#ifdef SUPPORT_PS
/* Change watchdog driver to align watchdog with tbtt if possible */
wlc_watchdog_upd(wlc, PS_ALLOWED(wlc));
} else
- bcmerror = BCME_ERROR;
+ bcmerror = -BCME_ERROR;
break;
#endif /* SUPPORT_PS */
#ifdef BCMDBG
case WLC_GET_WAKE:
if (AP_ENAB(wlc->pub)) {
- bcmerror = BCME_NOTSTA;
+ bcmerror = -BCME_NOTSTA;
break;
}
*pval = wlc->wake;
case WLC_SET_WAKE:
if (AP_ENAB(wlc->pub)) {
- bcmerror = BCME_NOTSTA;
+ bcmerror = -BCME_NOTSTA;
break;
}
{
unsigned char *cp = arg;
if (len < 3) {
- bcmerror = BCME_BUFTOOSHORT;
+ bcmerror = -BCME_BUFTOOSHORT;
break;
}
case WLC_SET_SHORTSLOT_OVERRIDE:
if ((val != WLC_SHORTSLOT_AUTO) &&
(val != WLC_SHORTSLOT_OFF) && (val != WLC_SHORTSLOT_ON)) {
- bcmerror = BCME_RANGE;
+ bcmerror = -BCME_RANGE;
break;
}
if (!wlc->pub->associated)
bcmerror = wlc_set_gmode(wlc, (u8) val, true);
else {
- bcmerror = BCME_ASSOCIATED;
+ bcmerror = -BCME_ASSOCIATED;
break;
}
break;
if ((val != WLC_PROTECTION_CTL_OFF) &&
(val != WLC_PROTECTION_CTL_LOCAL) &&
(val != WLC_PROTECTION_CTL_OVERLAP)) {
- bcmerror = BCME_RANGE;
+ bcmerror = -BCME_RANGE;
break;
}
case WLC_SET_GMODE_PROTECTION_OVERRIDE:
if ((val != WLC_PROTECTION_AUTO) &&
(val != WLC_PROTECTION_OFF) && (val != WLC_PROTECTION_ON)) {
- bcmerror = BCME_RANGE;
+ bcmerror = -BCME_RANGE;
break;
}
/* copyin */
if (len < (int)sizeof(wlc_rateset_t)) {
- bcmerror = BCME_BUFTOOSHORT;
+ bcmerror = -BCME_BUFTOOSHORT;
break;
}
memcpy(&rs, arg, sizeof(wlc_rateset_t));
/* check for bad count value */
if (rs.count > WLC_NUMRATES) {
- bcmerror = BCME_BADRATESET; /* invalid rateset */
+ bcmerror = -BCME_BADRATESET;
break;
}
if (!(wlc->band->gmode ||
((NBANDS(wlc) > 1)
&& wlc->bandstate[OTHERBANDUNIT(wlc)]->gmode))) {
- bcmerror = BCME_BADBAND; /* gmode only command when not in gmode */
+ /* gmode only command when not in gmode */
+ bcmerror = -BCME_BADBAND;
break;
}
false,
wlc->stf->txstreams);
if (rs.count != new.count) {
- bcmerror = BCME_BADRATESET; /* invalid rateset */
+ bcmerror = -BCME_BADRATESET;
break;
}
if (!(wlc->band->gmode ||
((NBANDS(wlc) > 1)
&& wlc->bandstate[OTHERBANDUNIT(wlc)]->gmode))) {
- bcmerror = BCME_BADBAND; /* gmode only command when not in gmode */
+ /* gmode only command when not in gmode */
+ bcmerror = -BCME_BADBAND;
break;
}
if (len < (int)sizeof(wlc_rateset_t)) {
- bcmerror = BCME_BUFTOOSHORT;
+ bcmerror = -BCME_BUFTOOSHORT;
break;
}
memcpy(arg, &wlc->sup_rates_override, sizeof(wlc_rateset_t));
case WLC_SET_PRB_RESP_TIMEOUT:
if (wlc->pub->up) {
- bcmerror = BCME_NOTDOWN;
+ bcmerror = -BCME_NOTDOWN;
break;
}
if (val < 0 || val >= 0xFFFF) {
- bcmerror = BCME_RANGE; /* bad value */
+ bcmerror = -BCME_RANGE; /* bad value */
break;
}
wlc->prb_resp_timeout = (u16) val;
if (key != NULL) {
*pval = key->id == val ? true : false;
} else {
- bcmerror = BCME_BADKEYIDX;
+ bcmerror = -BCME_BADKEYIDX;
}
break;
}
case WLC_SET_KEY_PRIMARY:{
wsec_key_t *key, *old_key;
- bcmerror = BCME_BADKEYIDX;
+ bcmerror = -BCME_BADKEYIDX;
/* treat the 'val' parm as the key id */
for (i = 0; i < WSEC_MAX_DEFAULT_KEYS; i++) {
;
if (i == (uint) len) {
- bcmerror = BCME_BUFTOOSHORT;
+ bcmerror = -BCME_BUFTOOSHORT;
break;
}
i++; /* include the null in the string length */
}
case WLC_SET_WSEC_PMK:
- bcmerror = BCME_UNSUPPORTED;
+ bcmerror = -BCME_UNSUPPORTED;
break;
#if defined(BCMDBG)
case WLC_CURRENT_PWR:
if (!wlc->pub->up)
- bcmerror = BCME_NOTUP;
+ bcmerror = -BCME_NOTUP;
else
bcmerror = wlc_get_current_txpwr(wlc, arg, len);
break;
{
/* if band is specified, it must be the current band */
if ((band != WLC_BAND_AUTO) && (band != (uint) wlc->band->bandtype))
- return BCME_BADBAND;
+ return -BCME_BADBAND;
/* if multiband and band is not specified, band must be locked */
if ((band == WLC_BAND_AUTO) && IS_MBAND_UNLOCKED(wlc))
- return BCME_NOTBANDLOCKED;
+ return -BCME_NOTBANDLOCKED;
/* must have core clocks */
if (!wlc->clk)
- return BCME_NOCLK;
+ return -BCME_NOCLK;
return 0;
}
int wlc_iocpichk(struct wlc_info *wlc, uint phytype)
{
if (wlc->band->phytype != phytype)
- return BCME_BADBAND;
+ return -BCME_BADBAND;
return 0;
}
#endif
/* it is time to increase the capacity */
ASSERT(i < WLC_MAXMODULES);
- return BCME_NORESOURCE;
+ return -BCME_NORESOURCE;
}
/* unregister module callbacks */
int i;
if (wlc == NULL)
- return BCME_NOTFOUND;
+ return -BCME_NOTFOUND;
ASSERT(name != NULL);
}
/* table not found! */
- return BCME_NOTFOUND;
+ return -BCME_NOTFOUND;
}
/* Write WME tunable parameters for retransmit/max rate from wlc struct to ucode */
}
/* iovar name not found */
if (i >= WLC_MAXMODULES) {
- err = BCME_UNSUPPORTED;
+ err = -BCME_UNSUPPORTED;
goto exit;
}
if (set) {
if (((vi->flags & IOVF_SET_DOWN) && wlc->pub->up) ||
((vi->flags & IOVF_SET_UP) && !wlc->pub->up)) {
- err = (wlc->pub->up ? BCME_NOTDOWN : BCME_NOTUP);
+ err = (wlc->pub->up ? -BCME_NOTDOWN : -BCME_NOTUP);
} else if ((vi->flags & IOVF_SET_BAND)
&& IS_MBAND_UNLOCKED(wlc)) {
- err = BCME_NOTBANDLOCKED;
+ err = -BCME_NOTBANDLOCKED;
} else if ((vi->flags & IOVF_SET_CLK) && !wlc->clk) {
- err = BCME_NOCLK;
+ err = -BCME_NOCLK;
}
} else {
if (((vi->flags & IOVF_GET_DOWN) && wlc->pub->up) ||
((vi->flags & IOVF_GET_UP) && !wlc->pub->up)) {
- err = (wlc->pub->up ? BCME_NOTDOWN : BCME_NOTUP);
+ err = (wlc->pub->up ? -BCME_NOTDOWN : -BCME_NOTUP);
} else if ((vi->flags & IOVF_GET_BAND)
&& IS_MBAND_UNLOCKED(wlc)) {
- err = BCME_NOTBANDLOCKED;
+ err = -BCME_NOTBANDLOCKED;
} else if ((vi->flags & IOVF_GET_CLK) && !wlc->clk) {
- err = BCME_NOCLK;
+ err = -BCME_NOCLK;
}
}
default:
WL_ERROR("wl%d: %s: unsupported\n", wlc->pub->unit, __func__);
- err = BCME_UNSUPPORTED;
+ err = -BCME_UNSUPPORTED;
break;
}
/* Signed values are checked against max_val and min_val */
if ((s32) val < (s32) min_val
|| (s32) val > (s32) max_val)
- err = BCME_RANGE;
+ err = -BCME_RANGE;
break;
case IOVT_UINT32:
if (vi->flags & IOVF_NTRL)
min_val = 1;
if ((val < min_val) || (val > max_val))
- err = BCME_RANGE;
+ err = -BCME_RANGE;
break;
}
}
}
- if (err == BCME_BUSY) {
+ if (err == -BCME_BUSY) {
pktq_penq_head(q, prec, pkt[0]);
/* If send failed due to any other reason than a change in
* HW FIFO condition, quit. Otherwise, read the new prec_map!
if (TXAVAIL(wlc, fifo) < MAX_DMA_SEGS) {
/* Mark precedences related to this FIFO, unsendable */
WLC_TX_FIFO_CLEAR(wlc, fifo);
- return BCME_BUSY;
+ return -BCME_BUSY;
}
if (!ieee80211_is_data(txh->MacFrameControl))
wlc_rev_info_t *rinfo = (wlc_rev_info_t *) buf;
if (len < WL_REV_INFO_LEGACY_LENGTH)
- return BCME_BUFTOOSHORT;
+ return -BCME_BUFTOOSHORT;
rinfo->vendorid = wlc->vendorid;
rinfo->deviceid = wlc->deviceid;
if (stf > PHY_TXC1_MODE_SDM) {
WL_ERROR("wl%d: %s: Invalid stf\n",
WLCWLUNIT(wlc), __func__);
- bcmerror = BCME_RANGE;
+ bcmerror = -BCME_RANGE;
goto done;
}
&& (stf != PHY_TXC1_MODE_CDD))) {
WL_ERROR("wl%d: %s: Invalid mcs 32\n",
WLCWLUNIT(wlc), __func__);
- bcmerror = BCME_RANGE;
+ bcmerror = -BCME_RANGE;
goto done;
}
/* mcs > 7 must use stf SDM */
&& (stf == PHY_TXC1_MODE_STBC))) {
WL_ERROR("wl%d: %s: Invalid STBC\n",
WLCWLUNIT(wlc), __func__);
- bcmerror = BCME_RANGE;
+ bcmerror = -BCME_RANGE;
goto done;
}
}
if ((stf != PHY_TXC1_MODE_CDD) && (stf != PHY_TXC1_MODE_SISO)) {
WL_ERROR("wl%d: %s: Invalid OFDM\n",
WLCWLUNIT(wlc), __func__);
- bcmerror = BCME_RANGE;
+ bcmerror = -BCME_RANGE;
goto done;
}
} else if (IS_CCK(rate)) {
|| (stf != PHY_TXC1_MODE_SISO)) {
WL_ERROR("wl%d: %s: Invalid CCK\n",
WLCWLUNIT(wlc), __func__);
- bcmerror = BCME_RANGE;
+ bcmerror = -BCME_RANGE;
goto done;
}
} else {
WL_ERROR("wl%d: %s: Unknown rate type\n",
WLCWLUNIT(wlc), __func__);
- bcmerror = BCME_RANGE;
+ bcmerror = -BCME_RANGE;
goto done;
}
/* make sure multiple antennae are available for non-siso rates */
if ((stf != PHY_TXC1_MODE_SISO) && (wlc->stf->txstreams == 1)) {
WL_ERROR("wl%d: %s: SISO antenna but !SISO request\n",
WLCWLUNIT(wlc), __func__);
- bcmerror = BCME_RANGE;
+ bcmerror = -BCME_RANGE;
goto done;
}
M_TX_IDLE_BUSY_RATIO_X_16_CCK;
if (duty_cycle > 100 || duty_cycle < 0) {
WL_ERROR("wl%d: duty cycle value off limit\n", wlc->pub->unit);
- return BCME_RANGE;
+ return -BCME_RANGE;
}
if (duty_cycle)
idle_busy_ratio_x_16 = (100 - duty_cycle) * 16 / duty_cycle;
if ((txchain & ~wlc->stf->hw_txchain)
|| !(txchain & wlc->stf->hw_txchain))
- return BCME_RANGE;
+ return -BCME_RANGE;
/* if nrate override is configured to be non-SISO STF mode, reject reducing txchain to 1 */
txstreams = (u8) WLC_BITSCNT(txchain);
if (txstreams > MAX_STREAMS_SUPPORTED)
- return BCME_RANGE;
+ return -BCME_RANGE;
if (txstreams == 1) {
for (i = 0; i < NBANDS(wlc); i++)
|| (RSPEC_STF(wlc->bandstate[i]->mrspec_override) !=
PHY_TXC1_MODE_SISO)) {
if (!force)
- return BCME_ERROR;
+ return -BCME_ERROR;
/* over-write the override rspec */
if (RSPEC_STF(wlc->bandstate[i]->rspec_override)
/* when there is only 1 tx_streams, don't allow to change the txant */
if (WLCISNPHY(wlc->band) && (wlc->stf->txstreams == 1))
- return ((val == wlc->stf->txant) ? bcmerror : BCME_RANGE);
+ return ((val == wlc->stf->txant) ? bcmerror : -BCME_RANGE);
switch (val) {
case -1:
val = ANT_TX_LAST_RX;
break;
default:
- bcmerror = BCME_RANGE;
+ bcmerror = -BCME_RANGE;
break;
}
/* ** driver/apps-shared section ** */
#define BCME_STRLEN 64 /* Max string length for BCM errors */
-#define VALID_BCMERROR(e) ((e <= 0) && (e >= BCME_LAST))
+#define VALID_BCMERROR(e) ((e <= 0) && (e >= -BCME_LAST))
/*
* error codes could be added but the defined ones shouldn't be changed/deleted
* update osl files with os specific errorcode map
*/
-#define BCME_ERROR -1 /* Error generic */
-#define BCME_BADARG -2 /* Bad Argument */
-#define BCME_NOTUP -4 /* Not up */
-#define BCME_NOTDOWN -5 /* Not down */
-#define BCME_BADKEYIDX -8 /* BAD Key Index */
-#define BCME_RADIOOFF -9 /* Radio Off */
-#define BCME_NOTBANDLOCKED -10 /* Not band locked */
-#define BCME_NOCLK -11 /* No Clock */
-#define BCME_BADRATESET -12 /* BAD Rate valueset */
-#define BCME_BADBAND -13 /* BAD Band */
-#define BCME_BUFTOOSHORT -14 /* Buffer too short */
-#define BCME_BUFTOOLONG -15 /* Buffer too long */
-#define BCME_BUSY -16 /* Busy */
-#define BCME_OUTOFRANGECHAN -19 /* Out of Range Channel */
-#define BCME_BADCHAN -20 /* Bad Channel */
-#define BCME_BADADDR -21 /* Bad Address */
-#define BCME_NORESOURCE -22 /* Not Enough Resources */
-#define BCME_UNSUPPORTED -23 /* Unsupported */
-#define BCME_NOTREADY -25 /* Not Ready */
-#define BCME_EPERM -26 /* Not Permitted */
-#define BCME_NOMEM -27 /* No Memory */
-#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_ERROR 1 /* Error generic */
+#define BCME_BADARG 2 /* Bad Argument */
+#define BCME_NOTUP 4 /* Not up */
+#define BCME_NOTDOWN 5 /* Not down */
+#define BCME_BADKEYIDX 8 /* BAD Key Index */
+#define BCME_RADIOOFF 9 /* Radio Off */
+#define BCME_NOTBANDLOCKED 10 /* Not band locked */
+#define BCME_NOCLK 11 /* No Clock */
+#define BCME_BADRATESET 12 /* BAD Rate valueset */
+#define BCME_BADBAND 13 /* BAD Band */
+#define BCME_BUFTOOSHORT 14 /* Buffer too short */
+#define BCME_BUFTOOLONG 15 /* Buffer too long */
+#define BCME_BUSY 16 /* Busy */
+#define BCME_OUTOFRANGECHAN 19 /* Out of Range Channel */
+#define BCME_BADCHAN 20 /* Bad Channel */
+#define BCME_BADADDR 21 /* Bad Address */
+#define BCME_NORESOURCE 22 /* Not Enough Resources */
+#define BCME_UNSUPPORTED 23 /* Unsupported */
+#define BCME_NOTREADY 25 /* Not Ready */
+#define BCME_EPERM 26 /* Not Permitted */
+#define BCME_NOMEM 27 /* No Memory */
+#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
/* These are collection of BCME Error strings */
sz = (uint) oi->hwlim - oi->hwbase;
if (!(oi->status & OTPS_GUP_HW)) {
*wlen = sz;
- return BCME_NOTFOUND;
+ return -BCME_NOTFOUND;
}
if (*wlen < sz) {
*wlen = sz;
- return BCME_BUFTOOSHORT;
+ return -BCME_BUFTOOSHORT;
}
base = oi->hwbase;
break;
sz = ((uint) oi->swlim - oi->swbase);
if (!(oi->status & OTPS_GUP_SW)) {
*wlen = sz;
- return BCME_NOTFOUND;
+ return -BCME_NOTFOUND;
}
if (*wlen < sz) {
*wlen = sz;
- return BCME_BUFTOOSHORT;
+ return -BCME_BUFTOOSHORT;
}
base = oi->swbase;
break;
sz = OTPGU_CI_SZ;
if (!(oi->status & OTPS_GUP_CI)) {
*wlen = sz;
- return BCME_NOTFOUND;
+ return -BCME_NOTFOUND;
}
if (*wlen < sz) {
*wlen = sz;
- return BCME_BUFTOOSHORT;
+ return -BCME_BUFTOOSHORT;
}
base = oi->otpgu_base + OTPGU_CI_OFF;
break;
sz = (uint) oi->flim - oi->fbase;
if (!(oi->status & OTPS_GUP_FUSE)) {
*wlen = sz;
- return BCME_NOTFOUND;
+ return -BCME_NOTFOUND;
}
if (*wlen < sz) {
*wlen = sz;
- return BCME_BUFTOOSHORT;
+ return -BCME_BUFTOOSHORT;
}
base = oi->fbase;
break;
sz = ((uint) oi->flim - oi->hwbase);
if (!(oi->status & (OTPS_GUP_HW | OTPS_GUP_SW))) {
*wlen = sz;
- return BCME_NOTFOUND;
+ return -BCME_NOTFOUND;
}
if (*wlen < sz) {
*wlen = sz;
- return BCME_BUFTOOSHORT;
+ return -BCME_BUFTOOSHORT;
}
base = oi->hwbase;
break;
default:
- return BCME_BADARG;
+ return -BCME_BADARG;
}
idx = si_coreidx(oi->sih);
static int ipxotp_nvread(void *oh, char *data, uint *len)
{
- return BCME_UNSUPPORTED;
+ return -BCME_UNSUPPORTED;
}
static otp_fn_t ipxotp_fn = {
/* Region empty? */
st = oi->hwprot | oi->signvalid;
if ((st & region) == 0)
- return BCME_NOTFOUND;
+ return -BCME_NOTFOUND;
*wlen =
((int)*wlen < oi->boundary / 2) ? *wlen : (uint) oi->boundary / 2;
si_otp_power(sih, true);
if (!si_is_otp_powered(sih) || si_is_otp_disabled(sih)) {
- err = BCME_NOTREADY;
+ err = -BCME_NOTREADY;
goto out;
}
oh = otp_init(sih);
if (oh == NULL) {
- err = BCME_ERROR;
+ err = -BCME_ERROR;
goto out;
}
otp = kzalloc(OTP_SZ_MAX, GFP_ATOMIC);
if (otp == NULL) {
- return BCME_ERROR;
+ return -BCME_ERROR;
}
err = otp_read_region(sih, OTP_HW_RGN, (u16 *) otp, &sz);
char *vp = kmalloc(c, GFP_ATOMIC);
ASSERT(vp != NULL);
if (!vp)
- return BCME_NOMEM;
+ return -BCME_NOMEM;
memcpy(vp, start, c);
*vars = vp;
*count = c;
/* allocate memory and read in flash */
flash = kmalloc(NVRAM_SPACE, GFP_ATOMIC);
if (!flash)
- return BCME_NOMEM;
+ return -BCME_NOMEM;
err = nvram_getall(flash, NVRAM_SPACE);
if (err)
goto exit;
/* is there enough room to copy? */
copy_len = l - dl + 1;
if (len < copy_len) {
- err = BCME_BUFTOOSHORT;
+ err = -BCME_BUFTOOSHORT;
goto exit;
}
/* add null string as terminator */
if (len < 1) {
- err = BCME_BUFTOOSHORT;
+ err = -BCME_BUFTOOSHORT;
goto exit;
}
*vp++ = '\0';
base = vp = kmalloc(MAXSZ_NVRAM_VARS, GFP_ATOMIC);
ASSERT(vp != NULL);
if (!vp)
- return BCME_NOMEM;
+ return -BCME_NOMEM;
err = initvars_flash(sih, &vp, MAXSZ_NVRAM_VARS);
if (err == 0)
{
/* check if someone added a bcmerror code but
forgot to add errorstring */
- ASSERT(ABS(BCME_LAST) == (ARRAY_SIZE(bcmerrorstrtable) - 1));
+ ASSERT(ABS(-BCME_LAST) == (ARRAY_SIZE(bcmerrorstrtable) - 1));
- if (bcmerror > 0 || bcmerror < BCME_LAST) {
+ if (bcmerror > 0 || bcmerror < -BCME_LAST) {
snprintf(bcm_undeferrstr, BCME_STRLEN, "Undefined error %d",
bcmerror);
return bcm_undeferrstr;
case IOVT_UINT32:
/* all integers are s32 sized args at the ioctl interface */
if (len < (int)sizeof(int)) {
- bcmerror = BCME_BUFTOOSHORT;
+ bcmerror = -BCME_BUFTOOSHORT;
}
break;
case IOVT_BUFFER:
/* buffer must meet minimum length requirement */
if (len < vi->minlen) {
- bcmerror = BCME_BUFTOOSHORT;
+ bcmerror = -BCME_BUFTOOSHORT;
}
break;
case IOVT_VOID:
if (!set) {
/* Cannot return nil... */
- bcmerror = BCME_UNSUPPORTED;
+ bcmerror = -BCME_UNSUPPORTED;
} else if (len) {
/* Set is an action w/o parameters */
- bcmerror = BCME_BUFTOOLONG;
+ bcmerror = -BCME_BUFTOOLONG;
}
break;
default:
/* unknown type for length check in iovar info */
ASSERT(0);
- bcmerror = BCME_UNSUPPORTED;
+ bcmerror = -BCME_UNSUPPORTED;
}
return bcmerror;
new = kmalloc(bufsz, GFP_ATOMIC);
if (new == NULL)
- return BCME_NOMEM;
+ return -BCME_NOMEM;
new->vars = varlst;
new->bufsz = bufsz;
while ((from < lim) && (*from)) {
len = strlen(from) + 1;
if (resid < (acc + len))
- return BCME_BUFTOOSHORT;
+ return -BCME_BUFTOOSHORT;
memcpy(to, from, len);
acc += len;
from += len;
this = this->next;
}
if (resid < 1)
- return BCME_BUFTOOSHORT;
+ return -BCME_BUFTOOSHORT;
*buf = '\0';
return 0;
}