Call nxsem_destroy or nxmutex_destry in the error path

1.Don't check the return value of nxsem_init or nxmutex_init
2.Fix some style issue

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
This commit is contained in:
anjiahao
2022-09-06 14:18:45 +08:00
committed by Petro Karashchenko
parent 99cfffc96a
commit d7b4e91dda
53 changed files with 606 additions and 619 deletions
+2 -2
View File
@@ -435,7 +435,7 @@ static ssize_t cc1101_file_write(FAR struct file *filep,
return ret;
}
ret = cc1101_write(dev, (const uint8_t *)buffer, buflen);
ret = cc1101_write(dev, (FAR const uint8_t *)buffer, buflen);
cc1101_send(dev);
nxmutex_unlock(&dev->devlock);
return ret;
@@ -560,7 +560,7 @@ static ssize_t cc1101_file_read(FAR struct file *filep, FAR char *buffer,
return ret;
}
buflen = fifo_get(dev, (uint8_t *)buffer, buflen);
buflen = fifo_get(dev, (FAR uint8_t *)buffer, buflen);
nxmutex_unlock(&dev->devlock);
return buflen;
}
+18 -15
View File
@@ -816,7 +816,7 @@ static void _write_data(FAR struct gs2200m_dev_s *dev,
****************************************************************************/
static void _read_data(FAR struct gs2200m_dev_s *dev,
FAR uint8_t *buff,
FAR uint8_t *buff,
FAR uint16_t len)
{
memset(buff, 0, len);
@@ -832,8 +832,8 @@ static void _read_data(FAR struct gs2200m_dev_s *dev,
static uint16_t _read_data_len(FAR struct gs2200m_dev_s *dev)
{
uint8_t hdr[8];
uint8_t res[8];
uint8_t hdr[8];
uint8_t res[8];
uint16_t len = 0;
int n = 0;
@@ -889,10 +889,10 @@ retry:
****************************************************************************/
enum spi_status_e gs2200m_hal_write(FAR struct gs2200m_dev_s *dev,
const void *data,
FAR const void *data,
uint16_t txlen)
{
uint8_t *tx = (uint8_t *)data;
FAR uint8_t *tx = (FAR uint8_t *)data;
uint8_t hdr[8];
uint8_t res[8];
int n = 0;
@@ -1091,6 +1091,7 @@ static void _parse_pkt_in_s0(FAR struct pkt_ctx_s *pkt_ctx,
static void _parse_pkt_in_s1(FAR struct pkt_ctx_s *pkt_ctx,
FAR struct pkt_dat_s *pkt_dat)
{
FAR char *msg;
int msize;
int n;
@@ -1102,7 +1103,7 @@ static void _parse_pkt_in_s1(FAR struct pkt_ctx_s *pkt_ctx,
ASSERT(pkt_ctx->ptr > pkt_ctx->head);
msize = pkt_ctx->ptr - pkt_ctx->head;
char *msg = (char *)kmm_calloc(msize + 1, 1);
msg = (FAR char *)kmm_calloc(msize + 1, 1);
ASSERT(msg);
memcpy(msg, pkt_ctx->head, msize);
@@ -1219,7 +1220,7 @@ static void _parse_pkt_in_s3(FAR struct pkt_ctx_s *pkt_ctx,
/* Read data length */
pkt_ctx->dlen = _to_uint16((char *)pkt_ctx->ptr);
pkt_ctx->dlen = _to_uint16((FAR char *)pkt_ctx->ptr);
pkt_ctx->ptr += 3;
wlinfo("dlen=%d\n", pkt_ctx->dlen);
@@ -1271,7 +1272,7 @@ static void _parse_pkt_in_s4(FAR struct pkt_ctx_s *pkt_ctx,
memset(addr, 0, sizeof(addr));
memset(port, 0, sizeof(port));
n = sscanf((char *)pkt_ctx->ptr, "%s %s\t", addr, port);
n = sscanf((FAR const char *)pkt_ctx->ptr, "%s %s\t", addr, port);
ASSERT(2 == n);
wlinfo("from (%s:%s)\n", addr, port);
@@ -1286,7 +1287,7 @@ static void _parse_pkt_in_s4(FAR struct pkt_ctx_s *pkt_ctx,
/* Read data length */
pkt_ctx->dlen = _to_uint16((char *)pkt_ctx->ptr);
pkt_ctx->dlen = _to_uint16((FAR char *)pkt_ctx->ptr);
pkt_ctx->ptr += 3;
wlinfo("dlen=%d\n", pkt_ctx->dlen);
@@ -1367,7 +1368,7 @@ static enum pkt_type_e _parse_pkt(FAR uint8_t *p, uint16_t len,
static void _dup_pkt_dat_and_notify(FAR struct gs2200m_dev_s *dev,
FAR struct pkt_dat_s *pkt_dat0)
{
struct pkt_dat_s *pkt_dat;
FAR struct pkt_dat_s *pkt_dat;
uint8_t c;
/* Only bulk data */
@@ -1419,9 +1420,9 @@ static enum pkt_type_e gs2200m_recv_pkt(FAR struct gs2200m_dev_s *dev,
enum pkt_type_e t = TYPE_ERROR;
enum spi_status_e s;
uint16_t len;
uint8_t *p;
FAR uint8_t *p;
p = (uint8_t *)kmm_calloc(MAX_PKT_LEN, 1);
p = (FAR uint8_t *)kmm_calloc(MAX_PKT_LEN, 1);
ASSERT(p);
s = gs2200m_hal_read(dev, p, &len);
@@ -1633,7 +1634,7 @@ errout:
static enum pkt_type_e gs2200m_disassociate(FAR struct gs2200m_dev_s *dev)
{
return gs2200m_send_cmd2(dev, (char *)"AT+WD\r\n");
return gs2200m_send_cmd2(dev, "AT+WD\r\n");
}
/****************************************************************************
@@ -1826,7 +1827,7 @@ enum pkt_type_e gs2200m_get_wstatus(FAR struct gs2200m_dev_s *dev)
/* Initialize pkt_dat and send command */
memset(&pkt_dat, 0, sizeof(pkt_dat));
r = gs2200m_send_cmd(dev, (char *)"AT+WSTATUS\r\n", &pkt_dat);
r = gs2200m_send_cmd(dev, "AT+WSTATUS\r\n", &pkt_dat);
if (r != TYPE_OK)
{
@@ -2017,7 +2018,8 @@ static enum pkt_type_e gs2200m_send_bulk(FAR struct gs2200m_dev_s *dev,
/* Send the bulk data */
s = gs2200m_hal_write(dev, (char *)dev->tx_buff, msg->len + bulk_hdr_size);
s = gs2200m_hal_write(dev, (FAR char *)dev->tx_buff,
msg->len + bulk_hdr_size);
if (s == SPI_TIMEOUT)
{
@@ -3502,6 +3504,7 @@ FAR void *gs2200m_register(FAR const char *devpath,
dev->spi = spi;
dev->path = strdup(devpath);
dev->lower = lower;
dev->pfd = NULL;
nxmutex_init(&dev->dev_lock);
@@ -1980,17 +1980,7 @@ int bcmf_wl_set_ssid(FAR struct bcmf_dev_s *priv, struct iwreq *iwr)
/* Init authentication signal semaphore */
ret = nxsem_init(&auth_signal, 0, 0);
if (ret == OK)
{
ret = nxsem_set_protocol(&auth_signal, SEM_PRIO_NONE);
}
if (ret < OK)
{
goto errout_with_auth;
}
nxsem_init(&auth_signal, 0, 0);
priv->auth_signal = &auth_signal;
ssid.ssid_len = iwr->u.essid.length;
+19 -34
View File
@@ -71,9 +71,9 @@ extern const struct bcmf_chip_data g_cyw43439_config_data;
/* Chip-common registers */
#define CHIPCOMMON_GPIO_CONTROL ((uint32_t)(0x18000000 + 0x06c) )
#define CHIPCOMMON_SR_CONTROL0 ((uint32_t)(0x18000000 + 0x504) )
#define CHIPCOMMON_SR_CONTROL1 ((uint32_t)(0x18000000 + 0x508) )
#define CHIPCOMMON_GPIO_CONTROL ((uint32_t)(0x18000000 + 0x06c))
#define CHIPCOMMON_SR_CONTROL0 ((uint32_t)(0x18000000 + 0x504))
#define CHIPCOMMON_SR_CONTROL1 ((uint32_t)(0x18000000 + 0x508))
/****************************************************************************
* Private Data
@@ -337,9 +337,9 @@ static int bcmf_gspi_bus_lowpower(FAR bcmf_gspi_dev_t *gbus, bool enable)
* Name: bcmf_gspi_thread_isr
****************************************************************************/
static int bcmf_gspi_thread_isr(int isr, void *context, void *arg)
static int bcmf_gspi_thread_isr(int isr, FAR void *context, FAR void *arg)
{
FAR bcmf_gspi_dev_t *gbus = (FAR bcmf_gspi_dev_t *) arg;
FAR bcmf_gspi_dev_t *gbus = (FAR bcmf_gspi_dev_t *)arg;
FAR gspi_dev_t *gspi = gbus->gspi;
int semcount;
@@ -613,9 +613,9 @@ static int bcmf_gspi_init_device(FAR bcmf_gspi_dev_t *gbus)
static int bcmf_gspi_probe_chip(FAR bcmf_gspi_dev_t *gbus)
{
uint32_t value;
int chipid;
int ret;
uint32_t value;
int chipid;
int ret;
wlinfo("entered\n");
@@ -817,11 +817,10 @@ static int bcmf_gspi_hw_uninitialize(FAR bcmf_gspi_dev_t *gbus)
*
****************************************************************************/
static int bcmf_bus_gspi_initialize(FAR struct bcmf_dev_s *priv,
FAR struct gspi_dev_s *gspi)
static int bcmf_bus_gspi_initialize(FAR struct bcmf_dev_s *priv,
FAR struct gspi_dev_s *gspi)
{
FAR bcmf_gspi_dev_t *gbus;
int ret;
wlinfo("entered.\n");
@@ -856,11 +855,7 @@ static int bcmf_bus_gspi_initialize(FAR struct bcmf_dev_s *priv,
/* Init transmit frames queue */
if ((ret = nxmutex_init(&gbus->queue_lock)) != OK)
{
goto exit_free_bus;
}
nxmutex_init(&gbus->queue_lock);
list_initialize(&gbus->tx_queue);
list_initialize(&gbus->rx_queue);
@@ -870,10 +865,7 @@ static int bcmf_bus_gspi_initialize(FAR struct bcmf_dev_s *priv,
/* Init thread semaphore */
if ((ret = nxsem_init(&gbus->thread_signal, 0, 0)) != OK)
{
goto exit_free_bus;
}
nxsem_init(&gbus->thread_signal, 0, 0);
/* Register sdio bus */
@@ -886,13 +878,6 @@ static int bcmf_bus_gspi_initialize(FAR struct bcmf_dev_s *priv,
wlinfo("complete.\n");
return OK;
exit_free_bus:
wlinfo("failed.\n");
kmm_free(gbus);
priv->bus = NULL;
return ret;
}
/****************************************************************************
@@ -947,11 +932,11 @@ exit_free_device:
int bcmf_bus_gspi_active(FAR struct bcmf_dev_s *priv,
bool active)
{
FAR bcmf_gspi_dev_t *gbus = (FAR bcmf_gspi_dev_t *)priv->bus;
FAR gspi_dev_t *gspi = gbus->gspi;
int ret = OK;
FAR char *argv[2];
char arg1[32];
FAR bcmf_gspi_dev_t *gbus = (FAR bcmf_gspi_dev_t *)priv->bus;
FAR gspi_dev_t *gspi = gbus->gspi;
int ret = OK;
FAR char *argv[2];
char arg1[32];
wlinfo("entered. active = %d\n", active);
@@ -1082,7 +1067,7 @@ int bcmf_transfer_bytes(FAR bcmf_gspi_dev_t *gbus,
function,
address,
len,
(FAR uint32_t *) buf);
(FAR uint32_t *)buf);
return ret;
}
@@ -1094,7 +1079,7 @@ int bcmf_transfer_bytes(FAR bcmf_gspi_dev_t *gbus,
function,
address,
len,
(FAR uint32_t *) buf);
(FAR uint32_t *)buf);
return ret;
}
@@ -66,9 +66,9 @@
/* Chip-common registers */
#define CHIPCOMMON_GPIO_CONTROL ((uint32_t)(0x18000000 + 0x6c) )
#define CHIPCOMMON_SR_CONTROL0 ((uint32_t)(0x18000000 + 0x504) )
#define CHIPCOMMON_SR_CONTROL1 ((uint32_t)(0x18000000 + 0x508) )
#define CHIPCOMMON_GPIO_CONTROL ((uint32_t)(0x18000000 + 0x6c))
#define CHIPCOMMON_SR_CONTROL0 ((uint32_t)(0x18000000 + 0x504))
#define CHIPCOMMON_SR_CONTROL1 ((uint32_t)(0x18000000 + 0x508))
/****************************************************************************
* Public Data
@@ -652,7 +652,6 @@ static int bcmf_bus_sdio_initialize(FAR struct bcmf_dev_s *priv,
/* Allocate sdio bus structure */
sbus = (FAR struct bcmf_sdio_dev_s *)kmm_malloc(sizeof(*sbus));
if (!sbus)
{
return -ENOMEM;
@@ -674,11 +673,7 @@ static int bcmf_bus_sdio_initialize(FAR struct bcmf_dev_s *priv,
/* Init transmit frames queue */
if ((ret = nxmutex_init(&sbus->queue_lock)) != OK)
{
goto exit_free_bus;
}
nxmutex_init(&sbus->queue_lock);
list_initialize(&sbus->tx_queue);
list_initialize(&sbus->rx_queue);
@@ -688,10 +683,7 @@ static int bcmf_bus_sdio_initialize(FAR struct bcmf_dev_s *priv,
/* Init thread semaphore */
if ((ret = nxsem_init(&sbus->thread_signal, 0, 0)) != OK)
{
goto exit_free_bus;
}
nxsem_init(&sbus->thread_signal, 0, 0);
/* Configure hardware */
@@ -44,7 +44,7 @@
* Name: bcmf_hexdump
****************************************************************************/
void bcmf_hexdump(uint8_t *data, unsigned int len, unsigned long offset)
void bcmf_hexdump(FAR uint8_t *data, unsigned int len, unsigned long offset)
{
unsigned int i;
unsigned int char_count = 0;
@@ -39,17 +39,17 @@
* Public Function Prototypes
****************************************************************************/
void bcmf_hexdump(uint8_t *data, unsigned int len, unsigned long offset);
void bcmf_hexdump(FAR uint8_t *dat, unsigned int len, unsigned long offset);
static inline uint16_t bcmf_getle16(void *val)
static inline uint16_t bcmf_getle16(FAR void *val)
{
uint8_t *valb = (uint8_t *)val;
FAR uint8_t *valb = (FAR uint8_t *)val;
return (uint16_t)valb[0] << 8 | (uint16_t)valb[1];
}
static inline uint32_t bcmf_getle32(void *val)
static inline uint32_t bcmf_getle32(FAR void *val)
{
uint16_t *valw = (uint16_t *)val;
FAR uint16_t *valw = (FAR uint16_t *)val;
return (uint32_t)bcmf_getle16(valw) << 16 | bcmf_getle16(valw + 1);
}
+11 -11
View File
@@ -415,10 +415,10 @@ static int sx127x_txfifo_write(FAR struct sx127x_dev_s *dev,
FAR const uint8_t *data, size_t datalen);
#endif
#ifdef CONFIG_LPWAN_SX127X_RXSUPPORT
static ssize_t sx127x_rxfifo_get(struct sx127x_dev_s *dev,
static ssize_t sx127x_rxfifo_get(FAR struct sx127x_dev_s *dev,
FAR uint8_t *buffer, size_t buflen);
static void sx127x_rxfifo_put(struct sx127x_dev_s *dev, FAR uint8_t *buffer,
size_t buflen);
static void sx127x_rxfifo_put(FAR struct sx127x_dev_s *dev,
FAR uint8_t *buffer, size_t buflen);
#endif
/* POSIX API */
@@ -494,7 +494,7 @@ static void sx127x_unlock(FAR struct spi_dev_s *spi)
* Name: sx127x_select
****************************************************************************/
static inline void sx127x_select(struct sx127x_dev_s * dev)
static inline void sx127x_select(FAR struct sx127x_dev_s *dev)
{
SPI_SELECT(dev->spi, SPIDEV_LPWAN(0), true);
}
@@ -503,7 +503,7 @@ static inline void sx127x_select(struct sx127x_dev_s * dev)
* Name: sx127x_deselect
****************************************************************************/
static inline void sx127x_deselect(struct sx127x_dev_s * dev)
static inline void sx127x_deselect(FAR struct sx127x_dev_s *dev)
{
SPI_SELECT(dev->spi, SPIDEV_LPWAN(0), false);
}
@@ -866,7 +866,7 @@ static ssize_t sx127x_read(FAR struct file *filep, FAR char *buffer,
/* Get RX data from fifo */
ret = sx127x_rxfifo_get(dev, (uint8_t *)buffer, buflen);
ret = sx127x_rxfifo_get(dev, (FAR uint8_t *)buffer, buflen);
nxmutex_unlock(&dev->dev_lock);
return ret;
@@ -926,7 +926,7 @@ static ssize_t sx127x_write(FAR struct file *filep, FAR const char *buffer,
/* Call modulation specific send */
ret = dev->ops.send(dev, (uint8_t *)buffer, buflen);
ret = dev->ops.send(dev, (FAR uint8_t *)buffer, buflen);
/* Change mode to TX to start data transfer */
@@ -1497,7 +1497,7 @@ static void sx127x_isr0_process(FAR void *arg)
{
DEBUGASSERT(arg);
FAR struct sx127x_dev_s *dev = (struct sx127x_dev_s *)arg;
FAR struct sx127x_dev_s *dev = (FAR struct sx127x_dev_s *)arg;
int ret = OK;
/* Return immediately if isr0_process is not initialized */
@@ -1606,7 +1606,7 @@ static size_t sx127x_fskook_rxhandle(FAR struct sx127x_dev_s *dev)
/* Put data on local fifo */
sx127x_rxfifo_put(dev, (uint8_t *)&rxdata, len);
sx127x_rxfifo_put(dev, (FAR uint8_t *)&rxdata, len);
/* Return total length */
@@ -1684,7 +1684,7 @@ static size_t sx127x_lora_rxhandle(FAR struct sx127x_dev_s *dev)
/* Put data on local fifo */
sx127x_rxfifo_put(dev, (uint8_t *)&rxdata, len);
sx127x_rxfifo_put(dev, (FAR uint8_t *)&rxdata, len);
/* Return total length */
@@ -1863,7 +1863,7 @@ static int sx127x_fskook_send(FAR struct sx127x_dev_s *dev,
{
/* First byte is length */
ret = sx127x_txfifo_write(dev, (uint8_t *)&datalen, 1);
ret = sx127x_txfifo_write(dev, (FAR uint8_t *)&datalen, 1);
}
/* Write payload */
+6 -5
View File
@@ -330,7 +330,7 @@ static inline void nrf24l01_configspi(FAR struct spi_dev_s *spi)
* Name: nrf24l01_select
****************************************************************************/
static inline void nrf24l01_select(struct nrf24l01_dev_s * dev)
static inline void nrf24l01_select(FAR struct nrf24l01_dev_s *dev)
{
SPI_SELECT(dev->spi, SPIDEV_WIRELESS(0), true);
}
@@ -339,7 +339,7 @@ static inline void nrf24l01_select(struct nrf24l01_dev_s * dev)
* Name: nrf24l01_deselect
****************************************************************************/
static inline void nrf24l01_deselect(struct nrf24l01_dev_s * dev)
static inline void nrf24l01_deselect(FAR struct nrf24l01_dev_s *dev)
{
SPI_SELECT(dev->spi, SPIDEV_WIRELESS(0), false);
}
@@ -638,7 +638,7 @@ static inline bool nrf24l01_chipenable(FAR struct nrf24l01_dev_s *dev,
#ifdef CONFIG_WL_NRF24L01_RXSUPPORT
static void nrf24l01_worker(FAR void *arg)
{
FAR struct nrf24l01_dev_s *dev = (FAR struct nrf24l01_dev_s *) arg;
FAR struct nrf24l01_dev_s *dev = (FAR struct nrf24l01_dev_s *)arg;
uint8_t status;
uint8_t fifo_status;
@@ -1053,7 +1053,8 @@ static ssize_t nrf24l01_read(FAR struct file *filep, FAR char *buffer,
}
}
ret = nrf24l01_recv(dev, (uint8_t *)buffer, buflen, &dev->last_recvpipeno);
ret = nrf24l01_recv(dev, (FAR uint8_t *)buffer, buflen,
&dev->last_recvpipeno);
errout:
nxmutex_unlock(&dev->devlock);
@@ -1084,7 +1085,7 @@ static ssize_t nrf24l01_write(FAR struct file *filep, FAR const char *buffer,
return ret;
}
ret = nrf24l01_send(dev, (const uint8_t *)buffer, buflen);
ret = nrf24l01_send(dev, (FAR const uint8_t *)buffer, buflen);
nxmutex_unlock(&dev->devlock);
return ret;