diff --git a/Documentation/NuttxPortingGuide.html b/Documentation/NuttxPortingGuide.html index 808152c91a..04b746b598 100644 --- a/Documentation/NuttxPortingGuide.html +++ b/Documentation/NuttxPortingGuide.html @@ -12,7 +12,7 @@

NuttX RTOS Porting Guide

-

Last Updated: October 12, 2017

+

Last Updated: January 31, 2018

@@ -2605,7 +2605,7 @@ pointer to a watchdog structure.

Returned Value:

@@ -2662,7 +2662,7 @@ wd_start() on a given watchdog ID has any effect.

Returned Value:

diff --git a/arch/arm/src/efm32/efm32_spi.c b/arch/arm/src/efm32/efm32_spi.c index f16d196e64..d7821a553e 100644 --- a/arch/arm/src/efm32/efm32_spi.c +++ b/arch/arm/src/efm32/efm32_spi.c @@ -1493,7 +1493,7 @@ static void spi_exchange(struct spi_dev_s *dev, const void *txbuffer, ret = wd_start(priv->wdog, (int)ticks, spi_dma_timeout, 1, (uint32_t)priv); if (ret < 0) { - spierr("ERROR: Failed to start timeout\n"); + spierr("ERROR: Failed to start timeout: %d\n", ret); } /* Then wait for each to complete. TX should complete first */ diff --git a/arch/arm/src/kinetis/kinetis_i2c.c b/arch/arm/src/kinetis/kinetis_i2c.c index 3e40998650..1a7af792a8 100644 --- a/arch/arm/src/kinetis/kinetis_i2c.c +++ b/arch/arm/src/kinetis/kinetis_i2c.c @@ -1183,8 +1183,8 @@ static int kinetis_i2c_transfer(struct i2c_master_s *dev, /* Wait for transfer complete */ - wd_start(priv->timeout, I2C_TIMEOUT, kinetis_i2c_timeout, 1, - (uint32_t) priv); + (void)wd_start(priv->timeout, I2C_TIMEOUT, kinetis_i2c_timeout, 1, + (uint32_t)priv); kinetis_i2c_wait(priv); wd_cancel(priv->timeout); diff --git a/arch/arm/src/kinetis/kinetis_sdhc.c b/arch/arm/src/kinetis/kinetis_sdhc.c index 1a3a0b53b7..ef59c16fe0 100644 --- a/arch/arm/src/kinetis/kinetis_sdhc.c +++ b/arch/arm/src/kinetis/kinetis_sdhc.c @@ -2465,7 +2465,7 @@ static sdio_eventset_t kinetis_eventwait(FAR struct sdio_dev_s *dev, delay = MSEC2TICK(timeout); ret = wd_start(priv->waitwdog, delay, (wdentry_t)kinetis_eventtimeout, 1, (uint32_t)priv); - if (ret != OK) + if (ret < 0) { mcerr("ERROR: wd_start failed: %d\n", ret); } diff --git a/arch/arm/src/kinetis/kinetis_usbdev.c b/arch/arm/src/kinetis/kinetis_usbdev.c index 4d10d422fd..9fd71b3e78 100644 --- a/arch/arm/src/kinetis/kinetis_usbdev.c +++ b/arch/arm/src/kinetis/kinetis_usbdev.c @@ -1112,7 +1112,8 @@ static void khci_delayedrestart(struct khci_usbdev_s *priv, uint8_t epno) /* And start (or re-start) the watchdog timer */ - wd_start(priv->wdog, RESTART_DELAY, khci_rqrestart, 1, (uint32_t)priv); + (void)wd_start(priv->wdog, RESTART_DELAY, khci_rqrestart, 1, + (uint32_t)priv); } /**************************************************************************** diff --git a/arch/arm/src/lpc11xx/lpc11_i2c.c b/arch/arm/src/lpc11xx/lpc11_i2c.c index 1c94939da9..5873a18ff3 100644 --- a/arch/arm/src/lpc11xx/lpc11_i2c.c +++ b/arch/arm/src/lpc11xx/lpc11_i2c.c @@ -215,7 +215,8 @@ static int lpc11_i2c_start(struct lpc11_i2cdev_s *priv) priv->base + LPC11_I2C_CONCLR_OFFSET); putreg32(I2C_CONSET_STA, priv->base + LPC11_I2C_CONSET_OFFSET); - wd_start(priv->timeout, I2C_TIMEOUT, lpc11_i2c_timeout, 1, (uint32_t)priv); + (void)wd_start(priv->timeout, I2C_TIMEOUT, lpc11_i2c_timeout, 1, + (uint32_t)priv); nxsem_wait(&priv->wait); wd_cancel(priv->timeout); diff --git a/arch/arm/src/lpc17xx/lpc17_i2c.c b/arch/arm/src/lpc17xx/lpc17_i2c.c index 579e943336..522afae683 100644 --- a/arch/arm/src/lpc17xx/lpc17_i2c.c +++ b/arch/arm/src/lpc17xx/lpc17_i2c.c @@ -215,7 +215,8 @@ static int lpc17_i2c_start(struct lpc17_i2cdev_s *priv) priv->base + LPC17_I2C_CONCLR_OFFSET); putreg32(I2C_CONSET_STA, priv->base + LPC17_I2C_CONSET_OFFSET); - wd_start(priv->timeout, I2C_TIMEOUT, lpc17_i2c_timeout, 1, (uint32_t)priv); + (void)wd_start(priv->timeout, I2C_TIMEOUT, lpc17_i2c_timeout, 1, + (uint32_t)priv); nxsem_wait(&priv->wait); wd_cancel(priv->timeout); diff --git a/arch/arm/src/lpc17xx/lpc17_sdcard.c b/arch/arm/src/lpc17xx/lpc17_sdcard.c index 3d7fdffe70..96cdb510f9 100644 --- a/arch/arm/src/lpc17xx/lpc17_sdcard.c +++ b/arch/arm/src/lpc17xx/lpc17_sdcard.c @@ -2307,7 +2307,7 @@ static sdio_eventset_t lpc17_eventwait(FAR struct sdio_dev_s *dev, delay = MSEC2TICK(timeout); ret = wd_start(priv->waitwdog, delay, (wdentry_t)lpc17_eventtimeout, 1, (uint32_t)priv); - if (ret != OK) + if (ret < 0) { mcerr("ERROR: wd_start failed: %d\n", ret); } diff --git a/arch/arm/src/lpc2378/lpc23xx_i2c.c b/arch/arm/src/lpc2378/lpc23xx_i2c.c index 00d44687ea..2a99c2a084 100644 --- a/arch/arm/src/lpc2378/lpc23xx_i2c.c +++ b/arch/arm/src/lpc2378/lpc23xx_i2c.c @@ -220,7 +220,8 @@ static int lpc2378_i2c_start(struct lpc2378_i2cdev_s *priv) priv->base + I2C_CONCLR_OFFSET); putreg32(I2C_CONSET_STA, priv->base + I2C_CONSET_OFFSET); - wd_start(priv->timeout, I2C_TIMEOUT, lpc2378_i2c_timeout, 1, (uint32_t)priv); + (void)wd_start(priv->timeout, I2C_TIMEOUT, lpc2378_i2c_timeout, 1, + (uint32_t)priv); nxsem_wait(&priv->wait); wd_cancel(priv->timeout); diff --git a/arch/arm/src/lpc31xx/lpc31_i2c.c b/arch/arm/src/lpc31xx/lpc31_i2c.c index c65d55c471..b4ff05cd9d 100644 --- a/arch/arm/src/lpc31xx/lpc31_i2c.c +++ b/arch/arm/src/lpc31xx/lpc31_i2c.c @@ -490,7 +490,7 @@ static int i2c_transfer(FAR struct i2c_master_s *dev, FAR struct i2c_msg_s *msgs /* Start a watchdog to timeout the transfer if the bus is locked up... */ - wd_start(priv->timeout, I2C_TIMEOUT, i2c_timeout, 1, (uint32_t)priv); + (void)wd_start(priv->timeout, I2C_TIMEOUT, i2c_timeout, 1, (uint32_t)priv); /* Wait for the transfer to complete */ diff --git a/arch/arm/src/lpc43xx/lpc43_i2c.c b/arch/arm/src/lpc43xx/lpc43_i2c.c index f613470a8f..64acf4f987 100644 --- a/arch/arm/src/lpc43xx/lpc43_i2c.c +++ b/arch/arm/src/lpc43xx/lpc43_i2c.c @@ -202,7 +202,8 @@ static int lpc43_i2c_start(struct lpc43_i2cdev_s *priv) priv->base + LPC43_I2C_CONCLR_OFFSET); putreg32(I2C_CONSET_STA, priv->base + LPC43_I2C_CONSET_OFFSET); - wd_start(priv->timeout, I2C_TIMEOUT, lpc43_i2c_timeout, 1, (uint32_t)priv); + (void)wd_start(priv->timeout, I2C_TIMEOUT, lpc43_i2c_timeout, 1,i + (uint32_t)priv); nxsem_wait(&priv->wait); wd_cancel(priv->timeout); diff --git a/arch/arm/src/lpc43xx/lpc43_sdmmc.c b/arch/arm/src/lpc43xx/lpc43_sdmmc.c index 5d4df400b3..c3504e7a15 100644 --- a/arch/arm/src/lpc43xx/lpc43_sdmmc.c +++ b/arch/arm/src/lpc43xx/lpc43_sdmmc.c @@ -2262,7 +2262,7 @@ static sdio_eventset_t lpc43_eventwait(FAR struct sdio_dev_s *dev, delay = MSEC2TICK(timeout); ret = wd_start(priv->waitwdog, delay, (wdentry_t)lpc43_eventtimeout, 1, (uint32_t)priv); - if (ret != OK) + if (ret < 0) { mcerr("ERROR: wd_start failed: %d\n", ret); } diff --git a/arch/arm/src/lpc54xx/lpc54_i2c_master.c b/arch/arm/src/lpc54xx/lpc54_i2c_master.c index cf4981676f..05d171a597 100644 --- a/arch/arm/src/lpc54xx/lpc54_i2c_master.c +++ b/arch/arm/src/lpc54xx/lpc54_i2c_master.c @@ -765,10 +765,9 @@ static int lpc54_i2c_transfer(FAR struct i2c_master_s *dev, priv->result = OK; /* Set up the transfer timeout */ - /* wd_start(priv->timeout ...); */ - wd_start(priv->timeout, priv->nmsgs * I2C_WDOG_TIMEOUT, lpc54_i2c_timeout, - 1, (uint32_t)priv); + (void)wd_start(priv->timeout, priv->nmsgs * I2C_WDOG_TIMEOUT, + lpc54_i2c_timeout, 1, (uint32_t)priv); /* Initiate the transfer */ diff --git a/arch/arm/src/lpc54xx/lpc54_sdmmc.c b/arch/arm/src/lpc54xx/lpc54_sdmmc.c index 09cb425267..626db2654f 100644 --- a/arch/arm/src/lpc54xx/lpc54_sdmmc.c +++ b/arch/arm/src/lpc54xx/lpc54_sdmmc.c @@ -2262,7 +2262,7 @@ static sdio_eventset_t lpc54_eventwait(FAR struct sdio_dev_s *dev, delay = MSEC2TICK(timeout); ret = wd_start(priv->waitwdog, delay, (wdentry_t)lpc54_eventtimeout, 1, (uint32_t)priv); - if (ret != OK) + if (ret < 0) { mcerr("ERROR: wd_start failed: %d\n", ret); } diff --git a/arch/arm/src/sam34/sam_hsmci.c b/arch/arm/src/sam34/sam_hsmci.c index 0ac187982b..25006b7f19 100644 --- a/arch/arm/src/sam34/sam_hsmci.c +++ b/arch/arm/src/sam34/sam_hsmci.c @@ -2317,7 +2317,7 @@ static sdio_eventset_t sam_eventwait(FAR struct sdio_dev_s *dev, delay = MSEC2TICK(timeout); ret = wd_start(priv->waitwdog, delay, (wdentry_t)sam_eventtimeout, 1, (uint32_t)priv); - if (ret != OK) + if (ret < 0) { mcerr("ERROR: wd_start failed: %d\n", ret); } diff --git a/arch/arm/src/sam34/sam_spi.c b/arch/arm/src/sam34/sam_spi.c index 0dc57e7a6c..79bc6ca9ea 100644 --- a/arch/arm/src/sam34/sam_spi.c +++ b/arch/arm/src/sam34/sam_spi.c @@ -1590,7 +1590,7 @@ static void spi_exchange(struct spi_dev_s *dev, const void *txbuffer, ret = wd_start(spics->dmadog, DMA_TIMEOUT_TICKS, (wdentry_t)spi_dmatimeout, 1, (uint32_t)spics); - if (ret != OK) + if (ret < 0) { spierr("ERROR: wd_start failed: %d\n", ret); } diff --git a/arch/arm/src/sam34/sam_twi.c b/arch/arm/src/sam34/sam_twi.c index 18b510cbcb..7f733790f7 100644 --- a/arch/arm/src/sam34/sam_twi.c +++ b/arch/arm/src/sam34/sam_twi.c @@ -386,7 +386,7 @@ static int twi_wait(struct twi_dev_s *priv) { /* Start a timeout to avoid hangs */ - wd_start(priv->timeout, TWI_TIMEOUT, twi_timeout, 1, (uint32_t)priv); + (void)wd_start(priv->timeout, TWI_TIMEOUT, twi_timeout, 1, (uint32_t)priv); /* Wait for either the TWI transfer or the timeout to complete */ diff --git a/arch/arm/src/sama5/sam_hsmci.c b/arch/arm/src/sama5/sam_hsmci.c index b5093d36b0..e47248e2eb 100644 --- a/arch/arm/src/sama5/sam_hsmci.c +++ b/arch/arm/src/sama5/sam_hsmci.c @@ -2745,7 +2745,7 @@ static sdio_eventset_t sam_eventwait(FAR struct sdio_dev_s *dev, delay = MSEC2TICK(timeout); ret = wd_start(priv->waitwdog, delay, (wdentry_t)sam_eventtimeout, 1, (uint32_t)priv); - if (ret != OK) + if (ret < 0) { lcderr("ERROR: wd_start failed: %d\n", ret); } diff --git a/arch/arm/src/sama5/sam_spi.c b/arch/arm/src/sama5/sam_spi.c index ce398400f4..457aa04f19 100644 --- a/arch/arm/src/sama5/sam_spi.c +++ b/arch/arm/src/sama5/sam_spi.c @@ -1520,7 +1520,7 @@ static void spi_exchange(struct spi_dev_s *dev, const void *txbuffer, ret = wd_start(spics->dmadog, DMA_TIMEOUT_TICKS, (wdentry_t)spi_dmatimeout, 1, (uint32_t)spics); - if (ret != OK) + if (ret < 0) { spierr("ERROR: wd_start failed: %d\n", ret); } diff --git a/arch/arm/src/sama5/sam_tsd.c b/arch/arm/src/sama5/sam_tsd.c index 4ec8d1bf04..36fc9e6d00 100644 --- a/arch/arm/src/sama5/sam_tsd.c +++ b/arch/arm/src/sama5/sam_tsd.c @@ -597,7 +597,8 @@ static void sam_tsd_bottomhalf(void *arg) * this case; we rely on the timer expiry to get us going again. */ - wd_start(priv->wdog, TSD_WDOG_DELAY, sam_tsd_expiry, 1, (uint32_t)priv); + (void)wd_start(priv->wdog, TSD_WDOG_DELAY, sam_tsd_expiry, 1, + (uint32_t)priv); ier = 0; goto ignored; } @@ -675,7 +676,8 @@ static void sam_tsd_bottomhalf(void *arg) /* Continue to sample the position while the pen is down */ - wd_start(priv->wdog, TSD_WDOG_DELAY, sam_tsd_expiry, 1, (uint32_t)priv); + (void)wd_start(priv->wdog, TSD_WDOG_DELAY, sam_tsd_expiry, 1, + (uint32_t)priv); /* Check the thresholds. Bail if (1) this is not the first * measurement and (2) there is no significant difference from diff --git a/arch/arm/src/sama5/sam_twi.c b/arch/arm/src/sama5/sam_twi.c index 7e32dd7720..11f9cf8801 100644 --- a/arch/arm/src/sama5/sam_twi.c +++ b/arch/arm/src/sama5/sam_twi.c @@ -487,7 +487,7 @@ static int twi_wait(struct twi_dev_s *priv, unsigned int size) * TWI transfer stalls. */ - wd_start(priv->timeout, timeout, twi_timeout, 1, (uint32_t)priv); + (void)wd_start(priv->timeout, timeout, twi_timeout, 1, (uint32_t)priv); /* Wait for either the TWI transfer or the timeout to complete */ diff --git a/arch/arm/src/samv7/sam_hsmci.c b/arch/arm/src/samv7/sam_hsmci.c index b6df58bc18..4f5e0d87d9 100644 --- a/arch/arm/src/samv7/sam_hsmci.c +++ b/arch/arm/src/samv7/sam_hsmci.c @@ -2791,7 +2791,7 @@ static sdio_eventset_t sam_eventwait(FAR struct sdio_dev_s *dev, delay = MSEC2TICK(timeout); ret = wd_start(priv->waitwdog, delay, (wdentry_t)sam_eventtimeout, 1, (uint32_t)priv); - if (ret != OK) + if (ret < 0) { mcerr("ERROR: wd_start failed: %d\n", ret); } diff --git a/arch/arm/src/samv7/sam_qspi.c b/arch/arm/src/samv7/sam_qspi.c index 80ce719c80..7e47c6caf9 100644 --- a/arch/arm/src/samv7/sam_qspi.c +++ b/arch/arm/src/samv7/sam_qspi.c @@ -885,7 +885,7 @@ static int qspi_memory_dma(struct sam_qspidev_s *priv, ret = wd_start(priv->dmadog, DMA_TIMEOUT_TICKS, (wdentry_t)qspi_dma_timeout, 1, (uint32_t)priv); - if (ret != OK) + if (ret < 0) { spierr("ERROR: wd_start failed: %d\n", ret); } diff --git a/arch/arm/src/samv7/sam_spi.c b/arch/arm/src/samv7/sam_spi.c index e45fac7d00..0ae37af28b 100644 --- a/arch/arm/src/samv7/sam_spi.c +++ b/arch/arm/src/samv7/sam_spi.c @@ -1864,7 +1864,7 @@ static void spi_exchange(struct spi_dev_s *dev, const void *txbuffer, ret = wd_start(spics->dmadog, DMA_TIMEOUT_TICKS, (wdentry_t)spi_dmatimeout, 1, (uint32_t)spics); - if (ret != OK) + if (ret < 0) { spierr("ERROR: wd_start failed: %d\n", ret); } diff --git a/arch/arm/src/samv7/sam_twihs.c b/arch/arm/src/samv7/sam_twihs.c index 261357c618..6c2d36b291 100644 --- a/arch/arm/src/samv7/sam_twihs.c +++ b/arch/arm/src/samv7/sam_twihs.c @@ -491,7 +491,8 @@ static int twi_wait(struct twi_dev_s *priv, unsigned int size) * TWIHS transfer stalls. */ - wd_start(priv->timeout, (timeout * size), twi_timeout, 1, (uint32_t)priv); + (void)wd_start(priv->timeout, (timeout * size), twi_timeout, 1, + (uint32_t)priv); /* Wait for either the TWIHS transfer or the timeout to complete */ diff --git a/arch/arm/src/stm32/stm32_sdio.c b/arch/arm/src/stm32/stm32_sdio.c index 31ecd08604..1413334419 100644 --- a/arch/arm/src/stm32/stm32_sdio.c +++ b/arch/arm/src/stm32/stm32_sdio.c @@ -2500,7 +2500,7 @@ static sdio_eventset_t stm32_eventwait(FAR struct sdio_dev_s *dev, delay = MSEC2TICK(timeout); ret = wd_start(priv->waitwdog, delay, (wdentry_t)stm32_eventtimeout, 1, (uint32_t)priv); - if (ret != OK) + if (ret < 0) { mcerr("ERROR: wd_start failed: %d\n", ret); } diff --git a/arch/arm/src/stm32f7/stm32_sdmmc.c b/arch/arm/src/stm32f7/stm32_sdmmc.c index e5ac6632df..c3530fc3fe 100644 --- a/arch/arm/src/stm32f7/stm32_sdmmc.c +++ b/arch/arm/src/stm32f7/stm32_sdmmc.c @@ -2691,7 +2691,7 @@ static sdio_eventset_t stm32_eventwait(FAR struct sdio_dev_s *dev, delay = MSEC2TICK(timeout); ret = wd_start(priv->waitwdog, delay, (wdentry_t)stm32_eventtimeout, 1, (uint32_t)priv); - if (ret != OK) + if (ret < 0) { mcerr("ERROR: wd_start failed: %d\n", ret); } diff --git a/arch/arm/src/stm32l4/stm32l4_qspi.c b/arch/arm/src/stm32l4/stm32l4_qspi.c index 793fbb7ffa..025e71f6d1 100644 --- a/arch/arm/src/stm32l4/stm32l4_qspi.c +++ b/arch/arm/src/stm32l4/stm32l4_qspi.c @@ -1447,7 +1447,7 @@ static int qspi_memory_dma(struct stm32l4_qspidev_s *priv, ret = wd_start(priv->dmadog, DMA_TIMEOUT_TICKS, (wdentry_t)qspi_dma_timeout, 1, (uint32_t)priv); - if (ret != OK) + if (ret < 0) { spierr("ERROR: wd_start failed: %d\n", ret); } diff --git a/arch/arm/src/stm32l4/stm32l4_sdmmc.c b/arch/arm/src/stm32l4/stm32l4_sdmmc.c index 6da267d2d0..2078c16258 100644 --- a/arch/arm/src/stm32l4/stm32l4_sdmmc.c +++ b/arch/arm/src/stm32l4/stm32l4_sdmmc.c @@ -2637,7 +2637,7 @@ static sdio_eventset_t stm32_eventwait(FAR struct sdio_dev_s *dev, delay = MSEC2TICK(timeout); ret = wd_start(priv->waitwdog, delay, (wdentry_t)stm32_eventtimeout, 1, (uint32_t)priv); - if (ret != OK) + if (ret < 0) { mcerr("ERROR: wd_start failed: %d\n", ret); } diff --git a/arch/mips/src/pic32mx/pic32mx-usbdev.c b/arch/mips/src/pic32mx/pic32mx-usbdev.c index b184ff41ec..82b3185181 100644 --- a/arch/mips/src/pic32mx/pic32mx-usbdev.c +++ b/arch/mips/src/pic32mx/pic32mx-usbdev.c @@ -1031,7 +1031,8 @@ static void pic32mx_delayedrestart(struct pic32mx_usbdev_s *priv, uint8_t epno) /* And start (or re-start) the watchdog timer */ - wd_start(priv->wdog, RESTART_DELAY, pic32mx_rqrestart, 1, (uint32_t)priv); + (void)wd_start(priv->wdog, RESTART_DELAY, pic32mx_rqrestart, 1, + (uint32_t)priv); } /**************************************************************************** diff --git a/drivers/input/ads7843e.c b/drivers/input/ads7843e.c index 195aaa0260..e62d2c2de3 100644 --- a/drivers/input/ads7843e.c +++ b/drivers/input/ads7843e.c @@ -607,7 +607,8 @@ static void ads7843e_worker(FAR void *arg) * later. */ - wd_start(priv->wdog, ADS7843E_WDOG_DELAY, ads7843e_wdog, 1, (uint32_t)priv); + (void)wd_start(priv->wdog, ADS7843E_WDOG_DELAY, ads7843e_wdog, 1, + (uint32_t)priv); goto ignored; } else diff --git a/drivers/input/max11802.c b/drivers/input/max11802.c index 1e40178df0..52ba527ed8 100644 --- a/drivers/input/max11802.c +++ b/drivers/input/max11802.c @@ -592,8 +592,8 @@ static void max11802_worker(FAR void *arg) iinfo("Previous pen up event still in buffer\n"); max11802_notify(priv); - wd_start(priv->wdog, MAX11802_WDOG_DELAY, max11802_wdog, 1, - (uint32_t)priv); + (void)wd_start(priv->wdog, MAX11802_WDOG_DELAY, max11802_wdog, 1, + (uint32_t)priv); goto ignored; } else @@ -632,8 +632,8 @@ static void max11802_worker(FAR void *arg) /* Continue to sample the position while the pen is down */ - wd_start(priv->wdog, MAX11802_WDOG_DELAY, max11802_wdog, 1, - (uint32_t)priv); + (void)wd_start(priv->wdog, MAX11802_WDOG_DELAY, max11802_wdog, 1, +i (uint32_t)priv); /* Check if data is valid */ diff --git a/drivers/wireless/ieee80211/bcmf_driver.c b/drivers/wireless/ieee80211/bcmf_driver.c index 1a3ae7f76e..6c17b2b7a9 100644 --- a/drivers/wireless/ieee80211/bcmf_driver.c +++ b/drivers/wireless/ieee80211/bcmf_driver.c @@ -886,8 +886,8 @@ int bcmf_wl_start_scan(FAR struct bcmf_dev_s *priv, struct iwreq *iwr) /* Start scan_timeout timer */ - wd_start(priv->scan_timeout, BCMF_SCAN_TIMEOUT_TICK, - bcmf_wl_scan_timeout, (wdparm_t)priv); + (void)wd_start(priv->scan_timeout, BCMF_SCAN_TIMEOUT_TICK, + bcmf_wl_scan_timeout, (wdparm_t)priv); return OK; diff --git a/drivers/wireless/ieee80211/bcmf_sdio.c b/drivers/wireless/ieee80211/bcmf_sdio.c index 25f94ab303..d13276c263 100644 --- a/drivers/wireless/ieee80211/bcmf_sdio.c +++ b/drivers/wireless/ieee80211/bcmf_sdio.c @@ -665,8 +665,8 @@ int bcmf_bus_sdio_initialize(FAR struct bcmf_dev_s *priv, /* Start the waitdog timer */ - wd_start(sbus->waitdog, BCMF_WAITDOG_TIMEOUT_TICK, bcmf_sdio_waitdog_timeout, - (wdparm_t)priv); + (void)wd_start(sbus->waitdog, BCMF_WAITDOG_TIMEOUT_TICK, + bcmf_sdio_waitdog_timeout, (wdparm_t)priv); /* Spawn bcmf daemon thread */ @@ -760,8 +760,8 @@ int bcmf_sdio_thread(int argc, char **argv) /* Restart the waitdog timer */ - wd_start(sbus->waitdog, BCMF_WAITDOG_TIMEOUT_TICK, - bcmf_sdio_waitdog_timeout, (wdparm_t)priv); + (void)wd_start(sbus->waitdog, BCMF_WAITDOG_TIMEOUT_TICK, + bcmf_sdio_waitdog_timeout, (wdparm_t)priv); /* Wake up device */ diff --git a/fs/mount/fs_automount.c b/fs/mount/fs_automount.c index e73ce50e24..41de262749 100644 --- a/fs/mount/fs_automount.c +++ b/fs/mount/fs_automount.c @@ -303,11 +303,8 @@ static int automount_unmount(FAR struct automounter_state_s *priv) (uint32_t)((uintptr_t)priv)); if (ret < 0) { - errcode = get_errno(); - DEBUGASSERT(errcode > 0); - - ferr("ERROR: wd_start failed: %d\n", errcode); - return -ret; + ferr("ERROR: wd_start failed: %d\n", ret); + return ret; } } diff --git a/include/nuttx/wdog.h b/include/nuttx/wdog.h index 7aacca711c..720d2b961c 100644 --- a/include/nuttx/wdog.h +++ b/include/nuttx/wdog.h @@ -1,7 +1,8 @@ /**************************************************************************** * include/nuttx/wdog.h * - * Copyright (C) 2007-2009, 2014-2015 Gregory Nutt. All rights reserved. + * Copyright (C) 2007-2009, 2014-2015, 2018 Gregory Nutt. All rights + * reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -196,7 +197,8 @@ WDOG_ID wd_create(void); * watchdog structure. * * Return Value: - * Returns OK or ERROR + * Zero (OK) is returned on success; a negated errno value is return to + * indicate the nature of any failure. * * Assumptions: * The caller has assured that the watchdog is no longer in use. @@ -230,7 +232,8 @@ int wd_delete(WDOG_ID wdog); * parm1..4 - parameters to pass to wdentry * * Return Value: - * OK or ERROR + * Zero (OK) is returned on success; a negated errno value is return to + * indicate the nature of any failure. * * Assumptions: * The watchdog routine runs in the context of the timer interrupt handler diff --git a/sched/mqueue/mq_timedreceive.c b/sched/mqueue/mq_timedreceive.c index 9194a79da7..af95097e89 100644 --- a/sched/mqueue/mq_timedreceive.c +++ b/sched/mqueue/mq_timedreceive.c @@ -239,8 +239,8 @@ ssize_t nxmq_timedreceive(mqd_t mqdes, FAR char *msg, size_t msglen, /* Start the watchdog */ - wd_start(rtcb->waitdog, ticks, (wdentry_t)nxmq_rcvtimeout, - 1, getpid()); + (void)wd_start(rtcb->waitdog, ticks, (wdentry_t)nxmq_rcvtimeout, + 1, getpid()); } /* Get the message from the message queue */ diff --git a/sched/mqueue/mq_timedsend.c b/sched/mqueue/mq_timedsend.c index 43924d4901..66682e68f7 100644 --- a/sched/mqueue/mq_timedsend.c +++ b/sched/mqueue/mq_timedsend.c @@ -271,7 +271,8 @@ int nxmq_timedsend(mqd_t mqdes, FAR const char *msg, size_t msglen, int prio, /* Start the watchdog and begin the wait for MQ not full */ - wd_start(rtcb->waitdog, ticks, (wdentry_t)nxmq_sndtimeout, 1, getpid()); + (void)wd_start(rtcb->waitdog, ticks, (wdentry_t)nxmq_sndtimeout, + 1, getpid()); /* And wait for the message queue to be non-empty */ diff --git a/sched/pthread/pthread_condtimedwait.c b/sched/pthread/pthread_condtimedwait.c index b27c279397..66410faebd 100644 --- a/sched/pthread/pthread_condtimedwait.c +++ b/sched/pthread/pthread_condtimedwait.c @@ -274,8 +274,10 @@ int pthread_cond_timedwait(FAR pthread_cond_t *cond, FAR pthread_mutex_t *mutex, { /* Start the watchdog */ - wd_start(rtcb->waitdog, ticks, (wdentry_t)pthread_condtimedout, - 2, (uint32_t)mypid, (uint32_t)SIGCONDTIMEDOUT); + (void)wd_start(rtcb->waitdog, ticks, + (wdentry_t)pthread_condtimedout, + 2, (uint32_t)mypid, + (uint32_t)SIGCONDTIMEDOUT); /* Take the condition semaphore. Do not restore interrupts * until we return from the wait. This is necessary to diff --git a/sched/signal/sig_timedwait.c b/sched/signal/sig_timedwait.c index 948c91723d..01b735ffec 100644 --- a/sched/signal/sig_timedwait.c +++ b/sched/signal/sig_timedwait.c @@ -356,8 +356,8 @@ int nxsig_timedwait(FAR const sigset_t *set, FAR struct siginfo *info, /* Start the watchdog */ - wd_start(rtcb->waitdog, waitticks, (wdentry_t)nxsig_timeout, - 1, wdparm.pvarg); + (void)wd_start(rtcb->waitdog, waitticks, + (wdentry_t)nxsig_timeout, 1, wdparm.pvarg); /* Now wait for either the signal or the watchdog */ diff --git a/sched/timer/timer_settime.c b/sched/timer/timer_settime.c index 9be2104c35..3724ed5ebd 100644 --- a/sched/timer/timer_settime.c +++ b/sched/timer/timer_settime.c @@ -1,7 +1,8 @@ /**************************************************************************** * sched/timer/timer_settime.c * - * Copyright (C) 2007-2010, 2013-2016 Gregory Nutt. All rights reserved. + * Copyright (C) 2007-2010, 2013-2016, 2018 Gregory Nutt. All rights + * reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -390,6 +391,15 @@ int timer_settime(timer_t timerid, int flags, timer->pt_last = delay; ret = wd_start(timer->pt_wdog, delay, (wdentry_t)timer_timeout, 1, (uint32_t)((wdparm_t)timer)); + if (ret < 0) + { + set_errno(-ret); + ret = ERROR; + } + else + { + ret = OK; + } } leave_critical_section(intflags); diff --git a/sched/wdog/wd_delete.c b/sched/wdog/wd_delete.c index 7b56bede46..785d4ec87c 100644 --- a/sched/wdog/wd_delete.c +++ b/sched/wdog/wd_delete.c @@ -68,7 +68,8 @@ * watchdog structure. * * Return Value: - * Returns OK or ERROR + * Zero (OK) is returned on success; a negated errno value is return to + * indicate the nature of any failure. * * Assumptions: * The caller has assured that the watchdog is no longer in use. diff --git a/sched/wdog/wd_start.c b/sched/wdog/wd_start.c index f94f9c2320..f861cbfab7 100644 --- a/sched/wdog/wd_start.c +++ b/sched/wdog/wd_start.c @@ -1,7 +1,8 @@ /**************************************************************************** * sched/wdog/wd_start.c * - * Copyright (C) 2007-2009, 2012, 2014, 2016 Gregory Nutt. All rights reserved. + * Copyright (C) 2007-2009, 2012, 2014, 2016, 2018 Gregory Nutt. All + * rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -103,8 +104,6 @@ typedef void (*wdentry4_t)(int argc, wdparm_t arg1, wdparm_t arg2, * Return Value: * None * - * Assumptions: - * ****************************************************************************/ static inline void wd_expiration(void) @@ -211,7 +210,8 @@ static inline void wd_expiration(void) * parm1..4 - parameters to pass to wdentry * * Return Value: - * OK or ERROR + * Zero (OK) is returned on success; a negated errno value is return to + * indicate the nature of any failure. * * Assumptions: * The watchdog routine runs in the context of the timer interrupt handler @@ -229,12 +229,11 @@ int wd_start(WDOG_ID wdog, int32_t delay, wdentry_t wdentry, int argc, ...) irqstate_t flags; int i; - /* Verify the wdog */ + /* Verify the wdog and setup parameters */ - if (!wdog || argc > CONFIG_MAX_WDOGPARMS || delay < 0) + if (wdog == NULL || argc > CONFIG_MAX_WDOGPARMS || delay < 0) { - set_errno(EINVAL); - return ERROR; + return -EINVAL; } /* Check if the watchdog has been started. If so, stop it.