diff --git a/drivers/analog/adc.c b/drivers/analog/adc.c index b856d39589..ff6031ee68 100644 --- a/drivers/analog/adc.c +++ b/drivers/analog/adc.c @@ -59,7 +59,7 @@ #include #include -#include +#include /**************************************************************************** * Private Function Prototypes @@ -134,7 +134,7 @@ static int adc_open(FAR struct file *filep) { /* Yes.. perform one time hardware initialization. */ - irqstate_t flags = irqsave(); + irqstate_t flags = enter_critical_section(); ret = dev->ad_ops->ao_setup(dev); if (ret == OK) { @@ -152,7 +152,7 @@ static int adc_open(FAR struct file *filep) dev->ad_ocount = tmp; } - irqrestore(flags); + leave_critical_section(flags); } } @@ -201,9 +201,9 @@ static int adc_close(FAR struct file *filep) /* Free the IRQ and disable the ADC device */ - flags = irqsave(); /* Disable interrupts */ + flags = enter_critical_section(); /* Disable interrupts */ dev->ad_ops->ao_shutdown(dev); /* Disable the ADC */ - irqrestore(flags); + leave_critical_section(flags); sem_post(&dev->ad_closesem); } @@ -244,7 +244,7 @@ static ssize_t adc_read(FAR struct file *filep, FAR char *buffer, size_t buflen) { /* Interrupts must be disabled while accessing the ad_recv FIFO */ - flags = irqsave(); + flags = enter_critical_section(); while (dev->ad_recv.af_head == dev->ad_recv.af_tail) { /* The receive FIFO is empty -- was non-blocking mode selected? */ @@ -340,7 +340,7 @@ static ssize_t adc_read(FAR struct file *filep, FAR char *buffer, size_t buflen) ret = nread; return_with_irqdisabled: - irqrestore(flags); + leave_critical_section(flags); } avdbg("Returning: %d\n", ret); diff --git a/drivers/analog/dac.c b/drivers/analog/dac.c index 12be8837b5..daf8b5f34a 100644 --- a/drivers/analog/dac.c +++ b/drivers/analog/dac.c @@ -59,7 +59,7 @@ #include #include -#include +#include /**************************************************************************** * Pre-processor Definitions @@ -143,7 +143,7 @@ static int dac_open(FAR struct file *filep) { /* Yes.. perform one time hardware initialization. */ - irqstate_t flags = irqsave(); + irqstate_t flags = enter_critical_section(); ret = dev->ad_ops->ao_setup(dev); if (ret == OK) { @@ -157,7 +157,7 @@ static int dac_open(FAR struct file *filep) dev->ad_ocount = tmp; } - irqrestore(flags); + leave_critical_section(flags); } } @@ -217,9 +217,9 @@ static int dac_close(FAR struct file *filep) /* Free the IRQ and disable the DAC device */ - flags = irqsave(); /* Disable interrupts */ + flags = enter_critical_section(); /* Disable interrupts */ dev->ad_ops->ao_shutdown(dev); /* Disable the DAC */ - irqrestore(flags); + leave_critical_section(flags); sem_post(&dev->ad_closesem); } @@ -289,7 +289,7 @@ static ssize_t dac_write(FAR struct file *filep, FAR const char *buffer, size_t /* Interrupts must disabled throughout the following */ - flags = irqsave(); + flags = enter_critical_section(); /* Check if the TX FIFO was empty when we started. That is a clue that we have * to kick off a new TX sequence. @@ -442,7 +442,7 @@ static ssize_t dac_write(FAR struct file *filep, FAR const char *buffer, size_t ret = nsent; return_with_irqdisabled: - irqrestore(flags); + leave_critical_section(flags); return ret; } diff --git a/drivers/audio/wm8904.c b/drivers/audio/wm8904.c index 8d441e00ce..a437c137e8 100644 --- a/drivers/audio/wm8904.c +++ b/drivers/audio/wm8904.c @@ -3,7 +3,7 @@ * * Audio device driver for Wolfson Microelectronics WM8904 Audio codec. * - * Copyright (C) 2014 Gregory Nutt. All rights reserved. + * Copyright (C) 2014, 2016 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * References: @@ -59,6 +59,7 @@ #include #include +#include #include #include #include @@ -72,14 +73,6 @@ #include "wm8904.h" -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - /**************************************************************************** * Private Function Prototypes ****************************************************************************/ @@ -1324,7 +1317,7 @@ static void wm8904_senddone(FAR struct i2s_dev_s *i2s, * against that possibility. */ - flags = irqsave(); + flags = enter_critical_section(); /* Add the completed buffer to the end of our doneq. We do not yet * decrement the reference count. @@ -1341,7 +1334,7 @@ static void wm8904_senddone(FAR struct i2s_dev_s *i2s, /* REVISIT: This can be overwritten */ priv->result = result; - irqrestore(flags); + leave_critical_section(flags); /* Now send a message to the worker thread, informing it that there are * buffers in the done queue that need to be cleaned up. @@ -1376,13 +1369,13 @@ static void wm8904_returnbuffers(FAR struct wm8904_dev_s *priv) * use interrupt controls to protect against that possibility. */ - flags = irqsave(); + flags = enter_critical_section(); while (dq_peek(&priv->doneq) != NULL) { /* Take the next buffer from the queue of completed transfers */ apb = (FAR struct ap_buffer_s *)dq_remfirst(&priv->doneq); - irqrestore(flags); + leave_critical_section(flags); audvdbg("Returning: apb=%p curbyte=%d nbytes=%d flags=%04x\n", apb, apb->curbyte, apb->nbytes, apb->flags); @@ -1417,10 +1410,10 @@ static void wm8904_returnbuffers(FAR struct wm8904_dev_s *priv) #else priv->dev.upper(priv->dev.priv, AUDIO_CALLBACK_DEQUEUE, apb, OK); #endif - flags = irqsave(); + flags = enter_critical_section(); } - irqrestore(flags); + leave_critical_section(flags); } /**************************************************************************** @@ -1468,9 +1461,9 @@ static int wm8904_sendbuffer(FAR struct wm8904_dev_s *priv) * to avoid a possible race condition. */ - flags = irqsave(); + flags = enter_critical_section(); priv->inflight++; - irqrestore(flags); + leave_critical_section(flags); /* Send the entire audio buffer via I2S. What is a reasonable timeout * to use? This would depend on the bit rate and size of the buffer. diff --git a/drivers/can.c b/drivers/can.c index e00d7ca337..a98e1145bc 100644 --- a/drivers/can.c +++ b/drivers/can.c @@ -58,7 +58,7 @@ # include #endif -#include +#include #ifdef CONFIG_CAN @@ -308,7 +308,7 @@ static void can_txready_work(FAR void *arg) * be performed with interrupt disabled. */ - flags = irqsave(); + flags = enter_critical_section(); if (dev->cd_xmit.tx_head != dev->cd_xmit.tx_tail) { /* Send the next message in the FIFO. */ @@ -333,7 +333,7 @@ static void can_txready_work(FAR void *arg) } } - irqrestore(flags); + leave_critical_section(flags); } #endif @@ -382,7 +382,7 @@ static int can_open(FAR struct file *filep) { /* Yes.. perform one time hardware initialization. */ - irqstate_t flags = irqsave(); + irqstate_t flags = enter_critical_section(); ret = dev_setup(dev); if (ret == OK) { @@ -403,7 +403,7 @@ static int can_open(FAR struct file *filep) dev->cd_ocount = 1; } - irqrestore(flags); + leave_critical_section(flags); } else { @@ -486,9 +486,9 @@ static int can_close(FAR struct file *filep) /* Free the IRQ and disable the CAN device */ - flags = irqsave(); /* Disable interrupts */ + flags = enter_critical_section(); /* Disable interrupts */ dev_shutdown(dev); /* Disable the CAN */ - irqrestore(flags); + leave_critical_section(flags); sem_post(&dev->cd_closesem); } @@ -525,7 +525,7 @@ static ssize_t can_read(FAR struct file *filep, FAR char *buffer, { /* Interrupts must be disabled while accessing the cd_recv FIFO */ - flags = irqsave(); + flags = enter_critical_section(); while (dev->cd_recv.rx_head == dev->cd_recv.rx_tail) { /* The receive FIFO is empty -- was non-blocking mode selected? */ @@ -592,7 +592,7 @@ static ssize_t can_read(FAR struct file *filep, FAR char *buffer, ret = nread; return_with_irqdisabled: - irqrestore(flags); + leave_critical_section(flags); } return ret; @@ -701,7 +701,7 @@ static ssize_t can_write(FAR struct file *filep, FAR const char *buffer, /* Interrupts must disabled throughout the following */ - flags = irqsave(); + flags = enter_critical_section(); /* Check if the TX is inactive when we started. In certain race conditions, * there may be a pending interrupt to kick things back off, but we will @@ -811,7 +811,7 @@ static ssize_t can_write(FAR struct file *filep, FAR const char *buffer, ret = nsent; return_with_irqdisabled: - irqrestore(flags); + leave_critical_section(flags); return ret; } @@ -836,7 +836,7 @@ static inline ssize_t can_rtrread(FAR struct can_dev_s *dev, /* Disable interrupts through this operation */ - flags = irqsave(); + flags = enter_critical_section(); /* Find an available slot in the pending RTR list */ @@ -866,7 +866,7 @@ static inline ssize_t can_rtrread(FAR struct can_dev_s *dev, } } - irqrestore(flags); + leave_critical_section(flags); return ret; } diff --git a/drivers/input/ads7843e.c b/drivers/input/ads7843e.c index 1648b7fddf..22b7606e63 100644 --- a/drivers/input/ads7843e.c +++ b/drivers/input/ads7843e.c @@ -1,7 +1,7 @@ /**************************************************************************** * drivers/input/ads7843e.c * - * Copyright (C) 2011-2012, 2014 Gregory Nutt. All rights reserved. + * Copyright (C) 2011-2012, 2014, 2016 Gregory Nutt. All rights reserved. * Authors: Gregory Nutt * Diego Sanchez * @@ -63,6 +63,7 @@ #include #include +#include #include #include #include @@ -340,7 +341,7 @@ static int ads7843e_sample(FAR struct ads7843e_dev_s *priv, * from changing until it has been reported. */ - flags = irqsave(); + flags = enter_critical_section(); /* Is there new ADS7843E sample data available? */ @@ -375,7 +376,7 @@ static int ads7843e_sample(FAR struct ads7843e_dev_s *priv, ret = OK; } - irqrestore(flags); + leave_critical_section(flags); return ret; } @@ -398,7 +399,7 @@ static int ads7843e_waitsample(FAR struct ads7843e_dev_s *priv, */ sched_lock(); - flags = irqsave(); + flags = enter_critical_section(); /* Now release the semaphore that manages mutually exclusive access to * the device structure. This may cause other tasks to become ready to @@ -448,7 +449,7 @@ errout: * have pre-emption disabled. */ - irqrestore(flags); + leave_critical_section(flags); /* Restore pre-emption. We might get suspended here but that is okay * because we already have our sample. Note: this means that if there @@ -1235,7 +1236,7 @@ int ads7843e_register(FAR struct spi_dev_s *spi, #ifdef CONFIG_ADS7843E_MULTIPLE priv->flink = g_ads7843elist; g_ads7843elist = priv; - irqrestore(flags); + leave_critical_section(flags); #endif /* Schedule work to perform the initial sampling and to set the data diff --git a/drivers/input/ajoystick.c b/drivers/input/ajoystick.c index ea1fc7848c..6c916d9f39 100644 --- a/drivers/input/ajoystick.c +++ b/drivers/input/ajoystick.c @@ -61,7 +61,7 @@ #include #include -#include +#include /**************************************************************************** * Private Types @@ -216,7 +216,7 @@ static void ajoy_enable(FAR struct ajoy_upperhalf_s *priv) * interrupts must be disabled. */ - flags = irqsave(); + flags = enter_critical_section(); /* Visit each opened reference to the device */ @@ -266,7 +266,7 @@ static void ajoy_enable(FAR struct ajoy_upperhalf_s *priv) lower->al_enable(lower, 0, 0, NULL, NULL); } - irqrestore(flags); + leave_critical_section(flags); } #endif @@ -314,7 +314,7 @@ static void ajoy_sample(FAR struct ajoy_upperhalf_s *priv) * interrupts must be disabled. */ - flags = irqsave(); + flags = enter_critical_section(); /* Sample the new button state */ @@ -386,7 +386,7 @@ static void ajoy_sample(FAR struct ajoy_upperhalf_s *priv) #endif priv->au_sample = sample; - irqrestore(flags); + leave_critical_section(flags); } /**************************************************************************** @@ -485,10 +485,10 @@ static int ajoy_close(FAR struct file *filep) * detection anyway. */ - flags = irqsave(); + flags = enter_critical_section(); closing = opriv->ao_closing; opriv->ao_closing = true; - irqrestore(flags); + leave_critical_section(flags); if (closing) { diff --git a/drivers/input/button_lower.c b/drivers/input/button_lower.c index fefab10b8c..868e1681a6 100644 --- a/drivers/input/button_lower.c +++ b/drivers/input/button_lower.c @@ -46,7 +46,7 @@ #include #include -#include +#include #undef __KERNEL__ #include @@ -135,7 +135,7 @@ static void btn_enable(FAR const struct btn_lowerhalf_s *lower, /* Start with all interrupts disabled */ - flags = irqsave(); + flags = enter_critical_section(); btn_disable(); illvdbg("press: %02x release: %02x handler: %p arg: %p\n", @@ -164,7 +164,7 @@ static void btn_enable(FAR const struct btn_lowerhalf_s *lower, } } - irqrestore(flags); + leave_critical_section(flags); } /**************************************************************************** @@ -182,7 +182,7 @@ static void btn_disable(void) /* Disable each button interrupt */ - flags = irqsave(); + flags = enter_critical_section(); for (id = 0; id < NUM_BUTTONS; id++) { (void)board_button_irq(id, NULL); @@ -192,7 +192,7 @@ static void btn_disable(void) g_btnhandler = NULL; g_btnarg = NULL; - irqrestore(flags); + leave_critical_section(flags); } /**************************************************************************** diff --git a/drivers/input/button_upper.c b/drivers/input/button_upper.c index 81e2157039..5eadfd87e3 100644 --- a/drivers/input/button_upper.c +++ b/drivers/input/button_upper.c @@ -57,7 +57,7 @@ #include #include -#include +#include /**************************************************************************** * Private Types @@ -212,7 +212,7 @@ static void btn_enable(FAR struct btn_upperhalf_s *priv) * interrupts must be disabled. */ - flags = irqsave(); + flags = enter_critical_section(); /* Visit each opened reference to the device */ @@ -262,7 +262,7 @@ static void btn_enable(FAR struct btn_upperhalf_s *priv) lower->bl_enable(lower, 0, 0, NULL, NULL); } - irqrestore(flags); + leave_critical_section(flags); } #endif @@ -310,7 +310,7 @@ static void btn_sample(FAR struct btn_upperhalf_s *priv) * interrupts must be disabled. */ - flags = irqsave(); + flags = enter_critical_section(); /* Sample the new button state */ @@ -382,7 +382,7 @@ static void btn_sample(FAR struct btn_upperhalf_s *priv) #endif priv->bu_sample = sample; - irqrestore(flags); + leave_critical_section(flags); } /**************************************************************************** @@ -481,10 +481,10 @@ static int btn_close(FAR struct file *filep) * detection anyway. */ - flags = irqsave(); + flags = enter_critical_section(); closing = opriv->bo_closing; opriv->bo_closing = true; - irqrestore(flags); + leave_critical_section(flags); if (closing) { diff --git a/drivers/input/djoystick.c b/drivers/input/djoystick.c index 93a448d2ae..5ea4cd7d28 100644 --- a/drivers/input/djoystick.c +++ b/drivers/input/djoystick.c @@ -61,7 +61,7 @@ #include #include -#include +#include /**************************************************************************** * Private Types @@ -216,7 +216,7 @@ static void djoy_enable(FAR struct djoy_upperhalf_s *priv) * interrupts must be disabled. */ - flags = irqsave(); + flags = enter_critical_section(); /* Visit each opened reference to the device */ @@ -266,7 +266,7 @@ static void djoy_enable(FAR struct djoy_upperhalf_s *priv) lower->dl_enable(lower, 0, 0, NULL, NULL); } - irqrestore(flags); + leave_critical_section(flags); } #endif @@ -314,7 +314,7 @@ static void djoy_sample(FAR struct djoy_upperhalf_s *priv) * interrupts must be disabled. */ - flags = irqsave(); + flags = enter_critical_section(); /* Sample the new button state */ @@ -386,7 +386,7 @@ static void djoy_sample(FAR struct djoy_upperhalf_s *priv) #endif priv->du_sample = sample; - irqrestore(flags); + leave_critical_section(flags); } /**************************************************************************** @@ -485,10 +485,10 @@ static int djoy_close(FAR struct file *filep) * detection anyway. */ - flags = irqsave(); + flags = enter_critical_section(); closing = opriv->do_closing; opriv->do_closing = true; - irqrestore(flags); + leave_critical_section(flags); if (closing) { diff --git a/drivers/input/max11802.c b/drivers/input/max11802.c index 25698427b9..2c3c1f7813 100644 --- a/drivers/input/max11802.c +++ b/drivers/input/max11802.c @@ -1,7 +1,7 @@ /**************************************************************************** * drivers/input/max11802.c * - * Copyright (C) 2011-2012, 2014-2015 Gregory Nutt. All rights reserved. + * Copyright (C) 2011-2012, 2014-2016 Gregory Nutt. All rights reserved. * Authors: Gregory Nutt * Petteri Aimonen * @@ -57,6 +57,7 @@ #include #include +#include #include #include #include @@ -305,7 +306,7 @@ static int max11802_sample(FAR struct max11802_dev_s *priv, * from changing until it has been reported. */ - flags = irqsave(); + flags = enter_critical_section(); /* Is there new MAX11802 sample data available? */ @@ -340,7 +341,7 @@ static int max11802_sample(FAR struct max11802_dev_s *priv, ret = OK; } - irqrestore(flags); + leave_critical_section(flags); return ret; } @@ -363,7 +364,7 @@ static int max11802_waitsample(FAR struct max11802_dev_s *priv, */ sched_lock(); - flags = irqsave(); + flags = enter_critical_section(); /* Now release the semaphore that manages mutually exclusive access to * the device structure. This may cause other tasks to become ready to @@ -413,7 +414,7 @@ errout: * have pre-emption disabled. */ - irqrestore(flags); + leave_critical_section(flags); /* Restore pre-emption. We might get suspended here but that is okay * because we already have our sample. Note: this means that if there @@ -1267,10 +1268,10 @@ int max11802_register(FAR struct spi_dev_s *spi, */ #ifdef CONFIG_MAX11802_MULTIPLE - flags = irqsave(); + flags = enter_critical_section(); priv->flink = g_max11802list; g_max11802list = priv; - irqrestore(flags); + leave_critical_section(flags); #endif /* Schedule work to perform the initial sampling and to set the data diff --git a/drivers/input/mxt.c b/drivers/input/mxt.c index b37c49a622..1b370e9579 100644 --- a/drivers/input/mxt.c +++ b/drivers/input/mxt.c @@ -1,7 +1,7 @@ /**************************************************************************** * drivers/input/mxt.c * - * Copyright (C) 2014 Gregory Nutt. All rights reserved. + * Copyright (C) 2014, 2016 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -58,6 +58,7 @@ #include #include +#include #include #include #include @@ -673,7 +674,7 @@ static inline int mxt_waitsample(FAR struct mxt_dev_s *priv) * from changing until it has been reported. */ - flags = irqsave(); + flags = enter_critical_section(); /* Now release the semaphore that manages mutually exclusive access to * the device structure. This may cause other tasks to become ready to @@ -719,7 +720,7 @@ errout: * have pre-emption disabled. */ - irqrestore(flags); + leave_critical_section(flags); return ret; } diff --git a/drivers/input/tsc2007.c b/drivers/input/tsc2007.c index 0c1991b351..a27042400f 100644 --- a/drivers/input/tsc2007.c +++ b/drivers/input/tsc2007.c @@ -1,7 +1,7 @@ /**************************************************************************** * drivers/input/tsc2007.c * - * Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. + * Copyright (C) 2011-2012, 2016 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * References: @@ -62,6 +62,7 @@ #include #include +#include #include #include #include @@ -299,7 +300,7 @@ static int tsc2007_sample(FAR struct tsc2007_dev_s *priv, * from changing until it has been reported. */ - flags = irqsave(); + flags = enter_critical_section(); /* Is there new TSC2007 sample data available? */ @@ -334,7 +335,7 @@ static int tsc2007_sample(FAR struct tsc2007_dev_s *priv, ret = OK; } - irqrestore(flags); + leave_critical_section(flags); return ret; } @@ -357,7 +358,7 @@ static int tsc2007_waitsample(FAR struct tsc2007_dev_s *priv, */ sched_lock(); - flags = irqsave(); + flags = enter_critical_section(); /* Now release the semaphore that manages mutually exclusive access to * the device structure. This may cause other tasks to become ready to @@ -403,7 +404,7 @@ errout: * have pre-emption disabled. */ - irqrestore(flags); + leave_critical_section(flags); /* Restore pre-emption. We might get suspended here but that is okay * because we already have our sample. Note: this means that if there @@ -1297,10 +1298,10 @@ int tsc2007_register(FAR struct i2c_master_s *dev, */ #ifdef CONFIG_TSC2007_MULTIPLE - flags = irqsave(); + flags = enter_critical_section(); priv->flink = g_tsc2007list; g_tsc2007list = priv; - irqrestore(flags); + leave_critical_section(flags); #endif /* Schedule work to perform the initial sampling and to set the data diff --git a/drivers/leds/userled_upper.c b/drivers/leds/userled_upper.c index 64dfab48c7..0d2377b624 100644 --- a/drivers/leds/userled_upper.c +++ b/drivers/leds/userled_upper.c @@ -1,7 +1,7 @@ /**************************************************************************** * drivers/leds/userled_upper.c * - * Copyright (C) 2015 Gregory Nutt. All rights reserved. + * Copyright (C) 2015-2016 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -52,6 +52,7 @@ #include #include +#include #include #include #include @@ -253,10 +254,10 @@ static int userled_close(FAR struct file *filep) * detection anyway. */ - flags = irqsave(); + flags = enter_critical_section(); closing = opriv->bo_closing; opriv->bo_closing = true; - irqrestore(flags); + leave_critical_section(flags); if (closing) { diff --git a/drivers/net/cs89x0.c b/drivers/net/cs89x0.c index 4ccc95ee73..dfaf2d6384 100644 --- a/drivers/net/cs89x0.c +++ b/drivers/net/cs89x0.c @@ -861,7 +861,7 @@ static int cs89x0_ifdown(struct net_driver_s *dev) /* Disable the Ethernet interrupt */ - flags = irqsave(); + flags = enter_critical_section(); up_disable_irq(CONFIG_CS89x0_IRQ); /* Cancel the TX poll timer and TX timeout timers */ @@ -872,7 +872,7 @@ static int cs89x0_ifdown(struct net_driver_s *dev) /* Reset the device */ cs89x0->cs_bifup = false; - irqrestore(flags); + leave_critical_section(flags); return OK; } @@ -900,7 +900,7 @@ static int cs89x0_txavail(struct net_driver_s *dev) struct cs89x0_driver_s *cs89x0 = (struct cs89x0_driver_s *)dev->d_private; irqstate_t flags; - flags = irqsave(); + flags = enter_critical_section(); /* Ignore the notification if the interface is not yet up */ @@ -914,7 +914,7 @@ static int cs89x0_txavail(struct net_driver_s *dev) (void)devif_poll(&cs89x0->cs_dev, cs89x0_txpoll); } - irqrestore(flags); + leave_critical_section(flags); return OK; } diff --git a/drivers/net/dm90x0.c b/drivers/net/dm90x0.c index aa3efbaf18..caaf0c1872 100644 --- a/drivers/net/dm90x0.c +++ b/drivers/net/dm90x0.c @@ -1411,7 +1411,7 @@ static int dm9x_ifdown(struct net_driver_s *dev) /* Disable the DM9X interrupt */ - flags = irqsave(); + flags = enter_critical_section(); up_disable_irq(CONFIG_DM9X_IRQ); /* Cancel the TX poll timer and TX timeout timers */ @@ -1428,7 +1428,7 @@ static int dm9x_ifdown(struct net_driver_s *dev) putreg(DM9X_ISR, DM9X_INT_ALL); /* Clear interrupt status */ dm9x->dm_bifup = false; - irqrestore(flags); + leave_critical_section(flags); return OK; } @@ -1457,7 +1457,7 @@ static int dm9x_txavail(struct net_driver_s *dev) irqstate_t flags; ndbg("Polling\n"); - flags = irqsave(); + flags = enter_critical_section(); /* Ignore the notification if the interface is not yet up */ @@ -1475,7 +1475,7 @@ static int dm9x_txavail(struct net_driver_s *dev) (void)devif_poll(&dm9x->dm_dev, dm9x_txpoll); } } - irqrestore(flags); + leave_critical_section(flags); return OK; } diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c index cf3b860aca..11a4452989 100644 --- a/drivers/net/e1000.c +++ b/drivers/net/e1000.c @@ -847,7 +847,7 @@ static int e1000_ifdown(struct net_driver_s *dev) /* Disable the Ethernet interrupt */ - flags = irqsave(); + flags = enter_critical_section(); e1000_turn_off(e1000); @@ -866,7 +866,7 @@ static int e1000_ifdown(struct net_driver_s *dev) /* Mark the device "down" */ e1000->bifup = false; - irqrestore(flags); + leave_critical_section(flags); return OK; } @@ -900,7 +900,7 @@ static int e1000_txavail(struct net_driver_s *dev) * level processing. */ - flags = irqsave(); + flags = enter_critical_section(); /* Ignore the notification if the interface is not yet up */ @@ -914,7 +914,7 @@ static int e1000_txavail(struct net_driver_s *dev) } } - irqrestore(flags); + leave_critical_section(flags); return OK; } diff --git a/drivers/net/enc28j60.c b/drivers/net/enc28j60.c index 37f94b867f..2ae3a01ebd 100644 --- a/drivers/net/enc28j60.c +++ b/drivers/net/enc28j60.c @@ -55,8 +55,8 @@ #include -#include #include +#include #include #include #include @@ -2149,7 +2149,7 @@ static int enc_ifdown(struct net_driver_s *dev) /* Disable the Ethernet interrupt */ - flags = irqsave(); + flags = enter_critical_section(); priv->lower->disable(priv->lower); /* Cancel the TX poll timer and TX timeout timers */ @@ -2163,7 +2163,7 @@ static int enc_ifdown(struct net_driver_s *dev) enc_pwrsave(priv); priv->ifstate = ENCSTATE_DOWN; - irqrestore(flags); + leave_critical_section(flags); /* Un-lock the SPI bus */ @@ -2201,7 +2201,7 @@ static int enc_txavail(struct net_driver_s *dev) /* Ignore the notification if the interface is not yet up */ - flags = irqsave(); + flags = enter_critical_section(); if (priv->ifstate == ENCSTATE_UP) { /* Check if the hardware is ready to send another packet. The driver @@ -2220,7 +2220,7 @@ static int enc_txavail(struct net_driver_s *dev) /* Un-lock the SPI bus */ - irqrestore(flags); + leave_critical_section(flags); enc_unlock(priv); return OK; } diff --git a/drivers/net/encx24j600.c b/drivers/net/encx24j600.c index 360684fbac..aae63dcebb 100644 --- a/drivers/net/encx24j600.c +++ b/drivers/net/encx24j600.c @@ -2317,7 +2317,7 @@ static int enc_ifdown(struct net_driver_s *dev) /* Disable the Ethernet interrupt */ - flags = irqsave(); + flags = enter_critical_section(); priv->lower->disable(priv->lower); /* Cancel the TX poll timer and TX timeout timers */ @@ -2331,7 +2331,7 @@ static int enc_ifdown(struct net_driver_s *dev) enc_pwrsave(priv); priv->ifstate = ENCSTATE_DOWN; - irqrestore(flags); + leave_critical_section(flags); /* Un-lock the SPI bus */ @@ -2370,7 +2370,7 @@ static int enc_txavail(struct net_driver_s *dev) /* Ignore the notification if the interface is not yet up */ - flags = irqsave(); + flags = enter_critical_section(); if (priv->ifstate == ENCSTATE_RUNNING) { /* Check if the hardware is ready to send another packet. The driver @@ -2389,7 +2389,7 @@ static int enc_txavail(struct net_driver_s *dev) /* Un-lock the SPI bus */ - irqrestore(flags); + leave_critical_section(flags); enc_unlock(priv); return OK; diff --git a/drivers/net/ftmac100.c b/drivers/net/ftmac100.c index 6f40eee1e0..fdf23a87e1 100644 --- a/drivers/net/ftmac100.c +++ b/drivers/net/ftmac100.c @@ -284,7 +284,7 @@ static int ftmac100_transmit(FAR struct ftmac100_driver_s *priv) FAR struct ftmac100_txdes_s *txdes; int len = priv->ft_dev.d_len; //irqstate_t flags; -//flags = irqsave(); +//flags = enter_critical_section(); //nvdbg("flags=%08x\n", flags); txdes = ftmac100_current_txdes(priv); @@ -323,7 +323,7 @@ static int ftmac100_transmit(FAR struct ftmac100_driver_s *priv) (void)wd_start(priv->ft_txtimeout, FTMAC100_TXTIMEOUT, ftmac100_txtimeout_expiry, 1, (wdparm_t)priv); -//irqrestore(flags); +//leave_critical_section(flags); return OK; } @@ -981,11 +981,11 @@ static void ftmac100_interrupt_work(FAR void *arg) /* Process pending Ethernet interrupts */ state = net_lock(); -//flags = irqsave(); +//flags = enter_critical_section(); ftmac100_interrupt_process(priv); -//irqrestore(flags); +//leave_critical_section(flags); net_unlock(state); /* Re-enable Ethernet interrupts */ @@ -1024,7 +1024,7 @@ static int ftmac100_interrupt(int irq, FAR void *context) * condition here. */ - flags = irqsave(); + flags = enter_critical_section(); priv->status = getreg32 (&iobase->isr); @@ -1055,7 +1055,7 @@ static int ftmac100_interrupt(int irq, FAR void *context) work_queue(HPWORK, &priv->ft_work, ftmac100_interrupt_work, priv, 0); - irqrestore(flags); + leave_critical_section(flags); #else /* Process the interrupt now */ putreg32 (INT_MASK_ALL_DISABLED, &iobase->imr); @@ -1374,7 +1374,7 @@ static int ftmac100_ifdown(struct net_driver_s *dev) /* Disable the Ethernet interrupt */ - flags = irqsave(); + flags = enter_critical_section(); up_disable_irq(CONFIG_FTMAC100_IRQ); /* Cancel the TX poll timer and TX timeout timers */ @@ -1392,7 +1392,7 @@ static int ftmac100_ifdown(struct net_driver_s *dev) /* Mark the device "down" */ priv->ft_bifup = false; - irqrestore(flags); + leave_critical_section(flags); return OK; } @@ -1501,12 +1501,12 @@ static int ftmac100_txavail(struct net_driver_s *dev) * level processing. */ - flags = irqsave(); + flags = enter_critical_section(); /* Perform the out-of-cycle poll now */ ftmac100_txavail_process(priv); - irqrestore(flags); + leave_critical_section(flags); #endif return OK; diff --git a/drivers/net/skeleton.c b/drivers/net/skeleton.c index ef6f2bf595..6194fbce34 100644 --- a/drivers/net/skeleton.c +++ b/drivers/net/skeleton.c @@ -911,7 +911,7 @@ static int skel_ifdown(FAR struct net_driver_s *dev) /* Disable the Ethernet interrupt */ - flags = irqsave(); + flags = enter_critical_section(); up_disable_irq(CONFIG_skeleton_IRQ); /* Cancel the TX poll timer and TX timeout timers */ @@ -927,7 +927,7 @@ static int skel_ifdown(FAR struct net_driver_s *dev) /* Mark the device "down" */ priv->sk_bifup = false; - irqrestore(flags); + leave_critical_section(flags); return OK; } @@ -1036,12 +1036,12 @@ static int skel_txavail(FAR struct net_driver_s *dev) * level processing. */ - flags = irqsave(); + flags = enter_critical_section(); /* Perform the out-of-cycle poll now */ skel_txavail_process(priv); - irqrestore(flags); + leave_critical_section(flags); #endif return OK; diff --git a/drivers/net/vnet.c b/drivers/net/vnet.c index 06df87098b..eec509ec87 100644 --- a/drivers/net/vnet.c +++ b/drivers/net/vnet.c @@ -584,7 +584,7 @@ static int vnet_ifdown(struct net_driver_s *dev) /* Disable the Ethernet interrupt */ - flags = irqsave(); + flags = enter_critical_section(); /* Cancel the TX poll timer and TX timeout timers */ @@ -598,7 +598,7 @@ static int vnet_ifdown(struct net_driver_s *dev) /* Mark the device "down" */ vnet->sk_bifup = false; - irqrestore(flags); + leave_critical_section(flags); return OK; } @@ -630,7 +630,7 @@ static int vnet_txavail(struct net_driver_s *dev) * level processing. */ - flags = irqsave(); + flags = enter_critical_section(); /* Ignore the notification if the interface is not yet up */ @@ -652,7 +652,7 @@ static int vnet_txavail(struct net_driver_s *dev) } out: - irqrestore(flags); + leave_critical_section(flags); return OK; } diff --git a/drivers/power/pm_activity.c b/drivers/power/pm_activity.c index 2bf96b08c2..8394418000 100644 --- a/drivers/power/pm_activity.c +++ b/drivers/power/pm_activity.c @@ -41,7 +41,7 @@ #include #include -#include +#include #include "pm.h" @@ -115,7 +115,7 @@ void pm_activity(int priority) { /* Add the priority to the accumulated counts in a critical section. */ - flags = irqsave(); + flags = enter_critical_section(); accum = (uint32_t)g_pmglobals.accum + priority; /* Make sure that we do not overflow the underlying uint16_t representation */ @@ -159,7 +159,7 @@ void pm_activity(int priority) (void)pm_update(tmp); } - irqrestore(flags); + leave_critical_section(flags); } } diff --git a/drivers/power/pm_changestate.c b/drivers/power/pm_changestate.c index 50aa8a07d5..271858710d 100644 --- a/drivers/power/pm_changestate.c +++ b/drivers/power/pm_changestate.c @@ -40,7 +40,7 @@ #include #include -#include +#include #include "pm.h" @@ -194,7 +194,7 @@ int pm_changestate(enum pm_state_e newstate) * re-enabled. */ - flags = irqsave(); + flags = enter_critical_section(); /* First, prepare the drivers for the state change. In this phase, * drivers may refuse the state state change. @@ -220,7 +220,7 @@ int pm_changestate(enum pm_state_e newstate) /* Restore the interrupt state */ - irqrestore(flags); + leave_critical_section(flags); return ret; } diff --git a/drivers/power/pm_checkstate.c b/drivers/power/pm_checkstate.c index b085cbe0be..7ec0f83b63 100644 --- a/drivers/power/pm_checkstate.c +++ b/drivers/power/pm_checkstate.c @@ -41,7 +41,7 @@ #include #include -#include +#include #include "pm.h" @@ -116,7 +116,7 @@ enum pm_state_e pm_checkstate(void) * logic in pm_activity(). */ - flags = irqsave(); + flags = enter_critical_section(); /* Check the elapsed time. In periods of low activity, time slicing is * controlled by IDLE loop polling; in periods of higher activity, time @@ -148,7 +148,7 @@ enum pm_state_e pm_checkstate(void) (void)pm_update(accum); } - irqrestore(flags); + leave_critical_section(flags); /* Return the recommended state. Assuming that we are called from the * IDLE thread at the lowest priority level, any updates scheduled on the diff --git a/drivers/pwm.c b/drivers/pwm.c index 3903bdf4fa..b07e44ae2c 100644 --- a/drivers/pwm.c +++ b/drivers/pwm.c @@ -60,7 +60,7 @@ #include #include -#include +#include #ifdef CONFIG_PWM @@ -351,7 +351,7 @@ static int pwm_start(FAR struct pwm_upperhalf_s *upper, unsigned int oflags) { /* Disable interrupts to avoid race conditions */ - flags = irqsave(); + flags = enter_critical_section(); /* Indicate that if will be waiting for the pulse count to complete. * Note that we will only wait if a non-zero pulse count is specified @@ -398,7 +398,7 @@ static int pwm_start(FAR struct pwm_upperhalf_s *upper, unsigned int oflags) upper->waiting = false; } - irqrestore(flags); + leave_critical_section(flags); } return ret; diff --git a/drivers/sensors/zerocross.c b/drivers/sensors/zerocross.c index 22f2f499a9..980ffdd86c 100644 --- a/drivers/sensors/zerocross.c +++ b/drivers/sensors/zerocross.c @@ -60,7 +60,7 @@ #include #include -#include +#include #ifdef CONFIG_ZEROCROSS @@ -165,7 +165,7 @@ static void zerocross_enable(FAR struct zc_upperhalf_s *priv) * interrupts must be disabled. */ - flags = irqsave(); + flags = enter_critical_section(); /* Enable interrupts */ @@ -175,7 +175,7 @@ static void zerocross_enable(FAR struct zc_upperhalf_s *priv) lower->zc_enable(lower, (zc_interrupt_t)zerocross_interrupt, priv); - irqrestore(flags); + leave_critical_section(flags); } /**************************************************************************** @@ -193,7 +193,7 @@ static void zerocross_interrupt(FAR const struct zc_lowerhalf_s *lower, * interrupts must be disabled. */ - flags = irqsave(); + flags = enter_critical_section(); /* Update sample value */ @@ -215,7 +215,7 @@ static void zerocross_interrupt(FAR const struct zc_lowerhalf_s *lower, #endif } - irqrestore(flags); + leave_critical_section(flags); } /************************************************************************************ @@ -308,10 +308,10 @@ static int zc_close(FAR struct file *filep) * detection anyway. */ - flags = irqsave(); + flags = enter_critical_section(); closing = opriv->do_closing; opriv->do_closing = true; - irqrestore(flags); + leave_critical_section(flags); if (closing) { diff --git a/drivers/serial/serial.c b/drivers/serial/serial.c index 32d2a073ad..5f84e23213 100644 --- a/drivers/serial/serial.c +++ b/drivers/serial/serial.c @@ -1,7 +1,7 @@ /************************************************************************************ * drivers/serial/serial.c * - * Copyright (C) 2007-2009, 2011-2013 Gregory Nutt. All rights reserved. + * Copyright (C) 2007-2009, 2011-2013, 2016 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -227,7 +227,7 @@ static int uart_putxmitchar(FAR uart_dev_t *dev, int ch, bool oktoblock) * the following steps must be atomic. */ - flags = irqsave(); + flags = enter_critical_section(); #ifdef CONFIG_SERIAL_REMOVABLE /* Check if the removable device is no longer connected while we @@ -257,7 +257,7 @@ static int uart_putxmitchar(FAR uart_dev_t *dev, int ch, bool oktoblock) uart_disabletxint(dev); } - irqrestore(flags); + leave_critical_section(flags); #ifdef CONFIG_SERIAL_REMOVABLE /* Check if the removable device was disconnected while we were @@ -366,9 +366,9 @@ static ssize_t uart_write(FAR struct file *filep, FAR const char *buffer, if (dev->isconsole) { - irqstate_t flags = irqsave(); + irqstate_t flags = enter_critical_section(); ret = uart_irqwrite(dev, buffer, buflen); - irqrestore(flags); + leave_critical_section(flags); return ret; } else @@ -712,7 +712,7 @@ static ssize_t uart_read(FAR struct file *filep, FAR char *buffer, size_t buflen * that the following operations are atomic. */ - flags = irqsave(); + flags = enter_critical_section(); #ifdef CONFIG_SERIAL_DMA /* If RX buffer is empty move tail and head to zero position */ @@ -751,7 +751,7 @@ static ssize_t uart_read(FAR struct file *filep, FAR char *buffer, size_t buflen ret = uart_takesem(&dev->recvsem, true); } - irqrestore(flags); + leave_critical_section(flags); /* Was a signal received while waiting for data to be * received? Was a removable device disconnected while @@ -799,7 +799,7 @@ static ssize_t uart_read(FAR struct file *filep, FAR char *buffer, size_t buflen } #ifdef CONFIG_SERIAL_DMA - flags = irqsave(); + flags = enter_critical_section(); /* If RX buffer is empty move tail and head to zero position */ @@ -808,7 +808,7 @@ static ssize_t uart_read(FAR struct file *filep, FAR char *buffer, size_t buflen rxbuf->head = rxbuf->tail = 0; } - irqrestore(flags); + leave_critical_section(flags); /* Notify DMA that there is free space in the RX buffer */ @@ -885,7 +885,7 @@ static int uart_ioctl(FAR struct file *filep, int cmd, unsigned long arg) case FIONREAD: { int count; - irqstate_t state = irqsave(); + irqstate_t flags = enter_critical_section(); /* Determine the number of bytes available in the buffer */ @@ -898,7 +898,7 @@ static int uart_ioctl(FAR struct file *filep, int cmd, unsigned long arg) count = dev->recv.size - (dev->recv.tail - dev->recv.head); } - irqrestore(state); + leave_critical_section(flags); *(FAR int *)((uintptr_t)arg) = count; ret = 0; @@ -908,7 +908,7 @@ static int uart_ioctl(FAR struct file *filep, int cmd, unsigned long arg) case FIONWRITE: { int count; - irqstate_t state = irqsave(); + irqstate_t flags = enter_critical_section(); /* Determine the number of bytes free in the buffer */ @@ -921,7 +921,7 @@ static int uart_ioctl(FAR struct file *filep, int cmd, unsigned long arg) count = dev->xmit.size - (dev->xmit.head - dev->xmit.tail) - 1; } - irqrestore(state); + leave_critical_section(flags); *(FAR int *)((uintptr_t)arg) = count; ret = 0; @@ -1182,14 +1182,14 @@ static int uart_close(FAR struct file *filep) /* Free the IRQ and disable the UART */ - flags = irqsave(); /* Disable interrupts */ + flags = enter_critical_section(); /* Disable interrupts */ uart_detach(dev); /* Detach interrupts */ if (!dev->isconsole) /* Check for the serial console UART */ { uart_shutdown(dev); /* Disable the UART */ } - irqrestore(flags); + leave_critical_section(flags); /* We need to re-initialize the semaphores if this is the last close * of the device, as the close might be caused by pthread_cancel() of @@ -1269,7 +1269,7 @@ static int uart_open(FAR struct file *filep) if (tmp == 1) { - irqstate_t flags = irqsave(); + irqstate_t flags = enter_critical_section(); /* If this is the console, then the UART has already been initialized. */ @@ -1280,7 +1280,7 @@ static int uart_open(FAR struct file *filep) ret = uart_setup(dev); if (ret < 0) { - irqrestore(flags); + leave_critical_section(flags); goto errout_with_sem; } } @@ -1295,7 +1295,7 @@ static int uart_open(FAR struct file *filep) if (ret < 0) { uart_shutdown(dev); - irqrestore(flags); + leave_critical_section(flags); goto errout_with_sem; } @@ -1306,7 +1306,7 @@ static int uart_open(FAR struct file *filep) dev->recv.head = 0; dev->recv.tail = 0; - /* Initialise termios state */ + /* Initialize termios state */ #ifdef CONFIG_SERIAL_TERMIOS dev->tc_iflag = 0; @@ -1331,7 +1331,7 @@ static int uart_open(FAR struct file *filep) /* Enable the RX interrupt */ uart_enablerxint(dev); - irqrestore(flags); + leave_critical_section(flags); } /* Save the new open count on success */ @@ -1454,7 +1454,7 @@ void uart_connected(FAR uart_dev_t *dev, bool connected) * function may be called from interrupt handling logic. */ - flags = irqsave(); + flags = enter_critical_section(); dev->disconnected = !connected; if (!connected) { @@ -1487,6 +1487,6 @@ void uart_connected(FAR uart_dev_t *dev, bool connected) uart_pollnotify(dev, (POLLERR | POLLHUP)); } - irqrestore(flags); + leave_critical_section(flags); } #endif diff --git a/drivers/serial/uart_16550.c b/drivers/serial/uart_16550.c index 7db5291701..6551a137e7 100644 --- a/drivers/serial/uart_16550.c +++ b/drivers/serial/uart_16550.c @@ -900,18 +900,18 @@ static int u16550_ioctl(struct file *filep, int cmd, unsigned long arg) case TIOCSBRK: /* BSD compatibility: Turn break on, unconditionally */ { - irqstate_t flags = irqsave(); + irqstate_t flags = enter_critical_section(); u16550_enablebreaks(priv, true); - irqrestore(flags); + leave_critical_section(flags); } break; case TIOCCBRK: /* BSD compatibility: Turn break off, unconditionally */ { irqstate_t flags; - flags = irqsave(); + flags = enter_critical_section(); u16550_enablebreaks(priv, false); - irqrestore(flags); + leave_critical_section(flags); } break; @@ -1010,7 +1010,7 @@ static void u16550_txint(struct uart_dev_s *dev, bool enable) FAR struct u16550_s *priv = (FAR struct u16550_s *)dev->priv; irqstate_t flags; - flags = irqsave(); + flags = enter_critical_section(); if (enable) { priv->ier |= UART_IER_ETBEI; @@ -1028,7 +1028,7 @@ static void u16550_txint(struct uart_dev_s *dev, bool enable) u16550_serialout(priv, UART_IER_OFFSET, priv->ier); } - irqrestore(flags); + leave_critical_section(flags); #endif } diff --git a/drivers/syslog/ramlog.c b/drivers/syslog/ramlog.c index b74c95f51c..ea8e035ce7 100644 --- a/drivers/syslog/ramlog.c +++ b/drivers/syslog/ramlog.c @@ -59,7 +59,7 @@ #include #include -#include +#include #ifdef CONFIG_RAMLOG @@ -182,7 +182,7 @@ static void ramlog_pollnotify(FAR struct ramlog_dev_s *priv, for (i = 0; i < CONFIG_RAMLOG_NPOLLWAITERS; i++) { - flags = irqsave(); + flags = enter_critical_section(); fds = priv->rl_fds[i]; if (fds) { @@ -192,7 +192,7 @@ static void ramlog_pollnotify(FAR struct ramlog_dev_s *priv, sem_post(fds->sem); } } - irqrestore(flags); + leave_critical_section(flags); } } #else @@ -210,7 +210,7 @@ static int ramlog_addchar(FAR struct ramlog_dev_s *priv, char ch) /* Disable interrupts (in case we are NOT called from interrupt handler) */ - flags = irqsave(); + flags = enter_critical_section(); /* Calculate the write index AFTER the next byte is written */ @@ -226,7 +226,7 @@ static int ramlog_addchar(FAR struct ramlog_dev_s *priv, char ch) { /* Yes... Return an indication that nothing was saved in the buffer. */ - irqrestore(flags); + leave_critical_section(flags); return -EBUSY; } @@ -234,7 +234,7 @@ static int ramlog_addchar(FAR struct ramlog_dev_s *priv, char ch) priv->rl_buffer[priv->rl_head] = ch; priv->rl_head = nexthead; - irqrestore(flags); + leave_critical_section(flags); return OK; } @@ -494,7 +494,7 @@ static ssize_t ramlog_write(FAR struct file *filep, FAR const char *buffer, size /* Are there threads waiting for read data? */ - flags = irqsave(); + flags = enter_critical_section(); #ifndef CONFIG_RAMLOG_NONBLOCKING for (i = 0; i < priv->rl_nwaiters; i++) { @@ -507,7 +507,7 @@ static ssize_t ramlog_write(FAR struct file *filep, FAR const char *buffer, size /* Notify all poll/select waiters that they can write to the FIFO */ ramlog_pollnotify(priv, POLLIN); - irqrestore(flags); + leave_critical_section(flags); } #endif diff --git a/drivers/usbdev/cdcacm.c b/drivers/usbdev/cdcacm.c index c5f874ed7d..90eedc5f98 100644 --- a/drivers/usbdev/cdcacm.c +++ b/drivers/usbdev/cdcacm.c @@ -1,7 +1,7 @@ /**************************************************************************** * drivers/usbdev/cdcacm.c * - * Copyright (C) 2011-2013 Gregory Nutt. All rights reserved. + * Copyright (C) 2011-2013, 2016 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -51,6 +51,7 @@ #include #include +#include #include #include #include @@ -68,10 +69,6 @@ # include "composite.h" #endif -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - /**************************************************************************** * Private Types ****************************************************************************/ @@ -282,7 +279,7 @@ static uint16_t cdcacm_fillrequest(FAR struct cdcacm_dev_s *priv, uint8_t *reqbu /* Disable interrupts */ - flags = irqsave(); + flags = enter_critical_section(); /* Transfer bytes while we have bytes available and there is room in the request */ @@ -317,7 +314,7 @@ static uint16_t cdcacm_fillrequest(FAR struct cdcacm_dev_s *priv, uint8_t *reqbu uart_datasent(serdev); } - irqrestore(flags); + leave_critical_section(flags); return nbytes; } @@ -350,7 +347,7 @@ static int cdcacm_sndpacket(FAR struct cdcacm_dev_s *priv) } #endif - flags = irqsave(); + flags = enter_critical_section(); /* Use our IN endpoint for the transfer */ @@ -404,7 +401,7 @@ static int cdcacm_sndpacket(FAR struct cdcacm_dev_s *priv) } } - irqrestore(flags); + leave_critical_section(flags); return ret; } @@ -834,7 +831,7 @@ static void cdcacm_rdcomplete(FAR struct usbdev_ep_s *ep, /* Process the received data unless this is some unusual condition */ - flags = irqsave(); + flags = enter_critical_section(); switch (req->result) { case 0: /* Normal completion */ @@ -845,7 +842,7 @@ static void cdcacm_rdcomplete(FAR struct usbdev_ep_s *ep, case -ESHUTDOWN: /* Disconnection */ usbtrace(TRACE_CLSERROR(USBSER_TRACEERR_RDSHUTDOWN), 0); priv->nrdq--; - irqrestore(flags); + leave_critical_section(flags); return; default: /* Some other error occurred */ @@ -862,7 +859,7 @@ static void cdcacm_rdcomplete(FAR struct usbdev_ep_s *ep, usbtrace(TRACE_CLSERROR(USBSER_TRACEERR_RDSUBMIT), (uint16_t)-req->result); } - irqrestore(flags); + leave_critical_section(flags); } /**************************************************************************** @@ -898,10 +895,10 @@ static void cdcacm_wrcomplete(FAR struct usbdev_ep_s *ep, /* Return the write request to the free list */ - flags = irqsave(); + flags = enter_critical_section(); sq_addlast((FAR sq_entry_t *)reqcontainer, &priv->reqlist); priv->nwrq++; - irqrestore(flags); + leave_critical_section(flags); /* Send the next packet unless this was some unusual termination * condition @@ -1079,10 +1076,10 @@ static int cdcacm_bind(FAR struct usbdevclass_driver_s *driver, reqcontainer->req->priv = reqcontainer; reqcontainer->req->callback = cdcacm_wrcomplete; - flags = irqsave(); + flags = enter_critical_section(); sq_addlast((FAR sq_entry_t *)reqcontainer, &priv->reqlist); priv->nwrq++; /* Count of write requests available */ - irqrestore(flags); + leave_critical_section(flags); } /* Report if we are selfpowered (unless we are part of a composite device) */ @@ -1208,7 +1205,7 @@ static void cdcacm_unbind(FAR struct usbdevclass_driver_s *driver, * of them) */ - flags = irqsave(); + flags = enter_critical_section(); DEBUGASSERT(priv->nwrq == CONFIG_CDCACM_NWRREQS); while (!sq_empty(&priv->reqlist)) { @@ -1221,7 +1218,7 @@ static void cdcacm_unbind(FAR struct usbdevclass_driver_s *driver, } DEBUGASSERT(priv->nwrq == 0); - irqrestore(flags); + leave_critical_section(flags); /* Clear out all data in the circular buffer */ @@ -1648,7 +1645,7 @@ static void cdcacm_disconnect(FAR struct usbdevclass_driver_s *driver, * connection. */ - flags = irqsave(); + flags = enter_critical_section(); #ifdef CONFIG_SERIAL_REMOVABLE uart_connected(&priv->serdev, false); #endif @@ -1662,7 +1659,7 @@ static void cdcacm_disconnect(FAR struct usbdevclass_driver_s *driver, priv->serdev.xmit.head = 0; priv->serdev.xmit.tail = 0; priv->rxhead = 0; - irqrestore(flags); + leave_critical_section(flags); /* Perform the soft connect function so that we will we can be * re-enumerated (unless we are part of a composite device) @@ -1988,7 +1985,7 @@ static int cdcuart_ioctl(FAR struct file *filep, int cmd, unsigned long arg) case FIONREAD: { int count; - irqstate_t state = irqsave(); + irqstate_t flags = enter_critical_section(); /* Determine the number of bytes available in the buffer. */ @@ -2001,7 +1998,7 @@ static int cdcuart_ioctl(FAR struct file *filep, int cmd, unsigned long arg) count = serdev->recv.size - (serdev->recv.tail - serdev->recv.head); } - irqrestore(state); + leave_critical_section(flags); *(int *)arg = count; ret = 0; @@ -2011,7 +2008,7 @@ static int cdcuart_ioctl(FAR struct file *filep, int cmd, unsigned long arg) case FIONWRITE: { int count; - irqstate_t state = irqsave(); + irqstate_t flags = enter_critical_section(); /* Determine the number of bytes free in the buffer. */ @@ -2024,7 +2021,7 @@ static int cdcuart_ioctl(FAR struct file *filep, int cmd, unsigned long arg) count = serdev->xmit.size - (serdev->xmit.head - serdev->xmit.tail) - 1; } - irqrestore(state); + leave_critical_section(flags); *(int *)arg = count; ret = 0; @@ -2083,7 +2080,7 @@ static void cdcuart_rxint(FAR struct uart_dev_s *dev, bool enable) * in the following. */ - flags = irqsave(); + flags = enter_critical_section(); if (enable) { /* RX "interrupts" are enabled. Is this a transition from disabled @@ -2132,7 +2129,7 @@ static void cdcuart_rxint(FAR struct uart_dev_s *dev, bool enable) priv->rxhead = serdev->recv.head; priv->rxenabled = false; } - irqrestore(flags); + leave_critical_section(flags); } /**************************************************************************** diff --git a/drivers/usbdev/composite.c b/drivers/usbdev/composite.c index 1cc35aab89..b0f0c95c9c 100644 --- a/drivers/usbdev/composite.c +++ b/drivers/usbdev/composite.c @@ -1,7 +1,7 @@ /**************************************************************************** * drivers/usbdev/composite.c * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. + * Copyright (C) 2012, 2016 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -45,6 +45,7 @@ #include #include +#include #include #include #include @@ -55,10 +56,6 @@ #ifdef CONFIG_USBDEV_COMPOSITE -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - /**************************************************************************** * Private Types ****************************************************************************/ @@ -368,7 +365,7 @@ static void composite_unbind(FAR struct usbdevclass_driver_s *driver, { /* Unbind the constituent class drivers */ - flags = irqsave(); + flags = enter_critical_section(); CLASS_UNBIND(priv->dev1, dev); CLASS_UNBIND(priv->dev2, dev); @@ -380,7 +377,7 @@ static void composite_unbind(FAR struct usbdevclass_driver_s *driver, composite_freereq(dev->ep0, priv->ctrlreq); priv->ctrlreq = NULL; } - irqrestore(flags); + leave_critical_section(flags); } } @@ -665,11 +662,11 @@ static void composite_disconnect(FAR struct usbdevclass_driver_s *driver, * the disconnection. */ - flags = irqsave(); + flags = enter_critical_section(); priv->config = COMPOSITE_CONFIGIDNONE; CLASS_DISCONNECT(priv->dev1, dev); CLASS_DISCONNECT(priv->dev2, dev); - irqrestore(flags); + leave_critical_section(flags); /* Perform the soft connect function so that we will we can be * re-enumerated. @@ -716,10 +713,10 @@ static void composite_suspend(FAR struct usbdevclass_driver_s *driver, /* Forward the suspend event to the constituent devices */ - flags = irqsave(); + flags = enter_critical_section(); CLASS_SUSPEND(priv->dev1, priv->usbdev); CLASS_SUSPEND(priv->dev2, priv->usbdev); - irqrestore(flags); + leave_critical_section(flags); } /**************************************************************************** @@ -758,10 +755,10 @@ static void composite_resume(FAR struct usbdevclass_driver_s *driver, /* Forward the resume event to the constituent devices */ - flags = irqsave(); + flags = enter_critical_section(); CLASS_RESUME(priv->dev1, priv->usbdev); CLASS_RESUME(priv->dev2, priv->usbdev); - irqrestore(flags); + leave_critical_section(flags); } /**************************************************************************** diff --git a/drivers/usbdev/pl2303.c b/drivers/usbdev/pl2303.c index 8848905487..aa568d1385 100644 --- a/drivers/usbdev/pl2303.c +++ b/drivers/usbdev/pl2303.c @@ -1,7 +1,7 @@ /**************************************************************************** * drivers/usbdev/pl2303.c * - * Copyright (C) 2008-2013, 2015 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2013, 2015-2016 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * This logic emulates the Prolific PL2303 serial/USB converter @@ -53,6 +53,7 @@ #include #include +#include #include #include #include @@ -537,7 +538,7 @@ static uint16_t usbclass_fillrequest(FAR struct pl2303_dev_s *priv, uint8_t *req /* Disable interrupts */ - flags = irqsave(); + flags = enter_critical_section(); /* Transfer bytes while we have bytes available and there is room in the request */ @@ -572,7 +573,7 @@ static uint16_t usbclass_fillrequest(FAR struct pl2303_dev_s *priv, uint8_t *req uart_datasent(serdev); } - irqrestore(flags); + leave_critical_section(flags); return nbytes; } @@ -605,7 +606,7 @@ static int usbclass_sndpacket(FAR struct pl2303_dev_s *priv) } #endif - flags = irqsave(); + flags = enter_critical_section(); /* Use our IN endpoint for the transfer */ @@ -659,7 +660,7 @@ static int usbclass_sndpacket(FAR struct pl2303_dev_s *priv) } } - irqrestore(flags); + leave_critical_section(flags); return ret; } @@ -1216,7 +1217,7 @@ static void usbclass_rdcomplete(FAR struct usbdev_ep_s *ep, /* Process the received data unless this is some unusual condition */ - flags = irqsave(); + flags = enter_critical_section(); switch (req->result) { case 0: /* Normal completion */ @@ -1227,7 +1228,7 @@ static void usbclass_rdcomplete(FAR struct usbdev_ep_s *ep, case -ESHUTDOWN: /* Disconnection */ usbtrace(TRACE_CLSERROR(USBSER_TRACEERR_RDSHUTDOWN), 0); priv->nrdq--; - irqrestore(flags); + leave_critical_section(flags); return; default: /* Some other error occurred */ @@ -1243,7 +1244,7 @@ static void usbclass_rdcomplete(FAR struct usbdev_ep_s *ep, { usbtrace(TRACE_CLSERROR(USBSER_TRACEERR_RDSUBMIT), (uint16_t)-req->result); } - irqrestore(flags); + leave_critical_section(flags); } /**************************************************************************** @@ -1279,10 +1280,10 @@ static void usbclass_wrcomplete(FAR struct usbdev_ep_s *ep, /* Return the write request to the free list */ - flags = irqsave(); + flags = enter_critical_section(); sq_addlast((FAR sq_entry_t *)reqcontainer, &priv->reqlist); priv->nwrq++; - irqrestore(flags); + leave_critical_section(flags); /* Send the next packet unless this was some unusual termination * condition @@ -1448,10 +1449,10 @@ static int usbclass_bind(FAR struct usbdevclass_driver_s *driver, reqcontainer->req->priv = reqcontainer; reqcontainer->req->callback = usbclass_wrcomplete; - flags = irqsave(); + flags = enter_critical_section(); sq_addlast((FAR sq_entry_t *)reqcontainer, &priv->reqlist); priv->nwrq++; /* Count of write requests available */ - irqrestore(flags); + leave_critical_section(flags); } /* Report if we are selfpowered */ @@ -1573,7 +1574,7 @@ static void usbclass_unbind(FAR struct usbdevclass_driver_s *driver, * of them */ - flags = irqsave(); + flags = enter_critical_section(); DEBUGASSERT(priv->nwrq == CONFIG_PL2303_NWRREQS); while (!sq_empty(&priv->reqlist)) { @@ -1585,7 +1586,7 @@ static void usbclass_unbind(FAR struct usbdevclass_driver_s *driver, } } DEBUGASSERT(priv->nwrq == 0); - irqrestore(flags); + leave_critical_section(flags); } /* Clear out all data in the circular buffer */ @@ -1900,7 +1901,7 @@ static void usbclass_disconnect(FAR struct usbdevclass_driver_s *driver, * connection. */ - flags = irqsave(); + flags = enter_critical_section(); #ifdef CONFIG_SERIAL_REMOVABLE uart_connected(&priv->serdev, false); #endif @@ -1914,7 +1915,7 @@ static void usbclass_disconnect(FAR struct usbdevclass_driver_s *driver, priv->serdev.xmit.head = 0; priv->serdev.xmit.tail = 0; priv->rxhead = 0; - irqrestore(flags); + leave_critical_section(flags); /* Perform the soft connect function so that we will we can be * re-enumerated. @@ -2136,7 +2137,7 @@ static void usbser_rxint(FAR struct uart_dev_s *dev, bool enable) * in the following. */ - flags = irqsave(); + flags = enter_critical_section(); if (enable) { /* RX "interrupts" are enabled. Is this a transition from disabled @@ -2185,7 +2186,7 @@ static void usbser_rxint(FAR struct uart_dev_s *dev, bool enable) priv->rxhead = serdev->recv.head; priv->rxenabled = false; } - irqrestore(flags); + leave_critical_section(flags); } /**************************************************************************** diff --git a/drivers/usbdev/usbdev_trace.c b/drivers/usbdev/usbdev_trace.c index b7f00e93fb..be19863b1b 100644 --- a/drivers/usbdev/usbdev_trace.c +++ b/drivers/usbdev/usbdev_trace.c @@ -45,7 +45,7 @@ #include #include -#include +#include #include #undef usbtrace @@ -140,10 +140,10 @@ usbtrace_idset_t usbtrace_enable(usbtrace_idset_t idset) /* The following read and write must be atomic */ - flags = irqsave(); + flags = enter_critical_section(); ret = g_maskedidset; g_maskedidset = idset; - irqrestore(flags); + leave_critical_section(flags); return ret; } #endif /* CONFIG_USBDEV_TRACE || CONFIG_DEBUG && CONFIG_DEBUG_USB */ @@ -166,7 +166,7 @@ void usbtrace(uint16_t event, uint16_t value) /* Check if tracing is enabled for this ID */ - flags = irqsave(); + flags = enter_critical_section(); if ((g_maskedidset & TRACE_ID2BIT(event)) != 0) { #ifdef CONFIG_USBDEV_TRACE @@ -196,7 +196,7 @@ void usbtrace(uint16_t event, uint16_t value) #endif } - irqrestore(flags); + leave_critical_section(flags); } #endif /* CONFIG_USBDEV_TRACE || CONFIG_DEBUG && CONFIG_DEBUG_USB */ diff --git a/drivers/usbdev/usbmsc.c b/drivers/usbdev/usbmsc.c index 9e502e4e10..9e646c9509 100644 --- a/drivers/usbdev/usbmsc.c +++ b/drivers/usbdev/usbmsc.c @@ -1,7 +1,7 @@ /**************************************************************************** * drivers/usbdev/usbmsc.c * - * Copyright (C) 2008-2012 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2012, 2016 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Mass storage class device. Bulk-only with SCSI subclass. @@ -71,6 +71,7 @@ #include #include +#include #include #include #include @@ -360,9 +361,9 @@ static int usbmsc_bind(FAR struct usbdevclass_driver_s *driver, reqcontainer->req->priv = reqcontainer; reqcontainer->req->callback = usbmsc_wrcomplete; - flags = irqsave(); + flags = enter_critical_section(); sq_addlast((FAR sq_entry_t *)reqcontainer, &priv->wrreqlist); - irqrestore(flags); + leave_critical_section(flags); } /* Report if we are selfpowered (unless we are part of a composite device) */ @@ -477,7 +478,7 @@ static void usbmsc_unbind(FAR struct usbdevclass_driver_s *driver, * of them */ - flags = irqsave(); + flags = enter_critical_section(); while (!sq_empty(&priv->wrreqlist)) { reqcontainer = (struct usbmsc_req_s *)sq_remfirst(&priv->wrreqlist); @@ -495,7 +496,7 @@ static void usbmsc_unbind(FAR struct usbdevclass_driver_s *driver, priv->epbulkin = NULL; } - irqrestore(flags); + leave_critical_section(flags); } } @@ -868,14 +869,14 @@ static void usbmsc_disconnect(FAR struct usbdevclass_driver_s *driver, /* Reset the configuration */ - flags = irqsave(); + flags = enter_critical_section(); usbmsc_resetconfig(priv); /* Signal the worker thread */ priv->theventset |= USBMSC_EVENT_DISCONNECT; usbmsc_scsi_signal(priv); - irqrestore(flags); + leave_critical_section(flags); /* Perform the soft connect function so that we will we can be * re-enumerated (unless we are part of a composite device) @@ -1088,9 +1089,9 @@ void usbmsc_wrcomplete(FAR struct usbdev_ep_s *ep, FAR struct usbdev_req_s *req) /* Return the write request to the free list */ - flags = irqsave(); + flags = enter_critical_section(); sq_addlast((FAR sq_entry_t *)privreq, &priv->wrreqlist); - irqrestore(flags); + leave_critical_section(flags); /* Process the received data unless this is some unusual condition */ @@ -1157,9 +1158,9 @@ void usbmsc_rdcomplete(FAR struct usbdev_ep_s *ep, FAR struct usbdev_req_s *req) /* Add the filled read request from the rdreqlist */ - flags = irqsave(); + flags = enter_critical_section(); sq_addlast((FAR sq_entry_t *)privreq, &priv->rdreqlist); - irqrestore(flags); + leave_critical_section(flags); /* Signal the worker thread that there is received data to be processed */ @@ -1681,10 +1682,10 @@ int usbmsc_exportluns(FAR void *handle) /* Signal to start the thread */ uvdbg("Signalling for the SCSI worker thread\n"); - flags = irqsave(); + flags = enter_critical_section(); priv->theventset |= USBMSC_EVENT_READY; usbmsc_scsi_signal(priv); - irqrestore(flags); + leave_critical_section(flags); errout_with_lock: usbmsc_scsi_unlock(priv); @@ -1792,10 +1793,10 @@ void usbmsc_uninitialize(FAR void *handle) { /* Yes.. Ask the thread to stop */ - flags = irqsave(); + flags = enter_critical_section(); priv->theventset |= USBMSC_EVENT_TERMINATEREQUEST; usbmsc_scsi_signal(priv); - irqrestore(flags); + leave_critical_section(flags); } usbmsc_scsi_unlock(priv); diff --git a/drivers/usbdev/usbmsc_scsi.c b/drivers/usbdev/usbmsc_scsi.c index 75e958cebe..a8b0f4004f 100644 --- a/drivers/usbdev/usbmsc_scsi.c +++ b/drivers/usbdev/usbmsc_scsi.c @@ -1,7 +1,7 @@ /**************************************************************************** * drivers/usbdev/usbmsc_scsi.c * - * Copyright (C) 2008-2010, 2012 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2010, 2012, 2016 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Mass storage class device. Bulk-only with SCSI subclass. @@ -67,6 +67,7 @@ #include #include +#include #include #include #include @@ -379,7 +380,7 @@ static void usbmsc_scsi_wait(FAR struct usbmsc_dev_s *priv) * enabled while we wait for the event. */ - flags = irqsave(); + flags = enter_critical_section(); priv->thwaiting = true; /* Relinquish our lock on the SCSI state data */ @@ -399,7 +400,7 @@ static void usbmsc_scsi_wait(FAR struct usbmsc_dev_s *priv) /* Re-acquire our lock on the SCSI state data */ usbmsc_scsi_lock(priv); - irqrestore(flags); + leave_critical_section(flags); } /**************************************************************************** @@ -1631,9 +1632,9 @@ static int usbmsc_idlestate(FAR struct usbmsc_dev_s *priv) /* Take a request from the rdreqlist */ - flags = irqsave(); + flags = enter_critical_section(); privreq = (FAR struct usbmsc_req_s *)sq_remfirst(&priv->rdreqlist); - irqrestore(flags); + leave_critical_section(flags); /* Has anything been received? If not, just return an error. * This will cause us to remain in the IDLE state. When a USB request is @@ -2178,9 +2179,9 @@ static int usbmsc_cmdreadstate(FAR struct usbmsc_dev_s *priv) * that is it not NULL */ - flags = irqsave(); + flags = enter_critical_section(); privreq = (FAR struct usbmsc_req_s *)sq_remfirst(&priv->wrreqlist); - irqrestore(flags); + leave_critical_section(flags); /* And submit the request to the bulk IN endpoint */ @@ -2413,9 +2414,9 @@ static int usbmsc_cmdfinishstate(FAR struct usbmsc_dev_s *priv) * that is it not NULL) */ - flags = irqsave(); + flags = enter_critical_section(); privreq = (FAR struct usbmsc_req_s *)sq_remfirst(&priv->wrreqlist); - irqrestore(flags); + leave_critical_section(flags); /* Send the write request */ @@ -2463,7 +2464,7 @@ static int usbmsc_cmdfinishstate(FAR struct usbmsc_dev_s *priv) { /* Did the host stop sending unexpectedly early? */ - flags = irqsave(); + flags = enter_critical_section(); if (priv->shortpacket) { usbtrace(TRACE_CLSERROR(USBMSC_TRACEERR_CMDFINISHSHORTPKT), (uint16_t)priv->residue); @@ -2478,7 +2479,7 @@ static int usbmsc_cmdfinishstate(FAR struct usbmsc_dev_s *priv) } priv->theventset |= USBMSC_EVENT_ABORTBULKOUT; - irqrestore(flags); + leave_critical_section(flags); } break; @@ -2524,9 +2525,9 @@ static int usbmsc_cmdstatusstate(FAR struct usbmsc_dev_s *priv) /* Take a request from the wrreqlist */ - flags = irqsave(); + flags = enter_critical_section(); privreq = (FAR struct usbmsc_req_s *)sq_remfirst(&priv->wrreqlist); - irqrestore(flags); + leave_critical_section(flags); /* If there no request structures available, then just return an error. * This will cause us to remain in the CMDSTATUS status. When a request is @@ -2589,9 +2590,9 @@ static int usbmsc_cmdstatusstate(FAR struct usbmsc_dev_s *priv) if (ret < 0) { usbtrace(TRACE_CLSERROR(USBMSC_TRACEERR_SNDSTATUSSUBMIT), (uint16_t)-ret); - flags = irqsave(); + flags = enter_critical_section(); (void)sq_addlast((FAR sq_entry_t *)privreq, &priv->wrreqlist); - irqrestore(flags); + leave_critical_section(flags); } /* Return to the IDLE state */ @@ -2663,7 +2664,7 @@ int usbmsc_scsi_main(int argc, char *argv[]) */ usbmsc_scsi_lock(priv); - flags = irqsave(); + flags = enter_critical_section(); if (priv->theventset == USBMSC_EVENT_NOEVENTS) { usbmsc_scsi_wait(priv); @@ -2730,7 +2731,7 @@ int usbmsc_scsi_main(int argc, char *argv[]) priv->thstate = USBMSC_STATE_IDLE; } - irqrestore(flags); + leave_critical_section(flags); /* Loop processing each SCSI command state. Each state handling * function will do the following: @@ -2810,14 +2811,14 @@ void usbmsc_scsi_signal(FAR struct usbmsc_dev_s *priv) * of the semaphore count are atomic. */ - flags = irqsave(); + flags = enter_critical_section(); if (priv->thwaiting) { priv->thwaiting = false; sem_post(&priv->thwaitsem); } - irqrestore(flags); + leave_critical_section(flags); } /**************************************************************************** diff --git a/drivers/usbhost/usbhost_cdcacm.c b/drivers/usbhost/usbhost_cdcacm.c index 54b1c58042..ef00675627 100644 --- a/drivers/usbhost/usbhost_cdcacm.c +++ b/drivers/usbhost/usbhost_cdcacm.c @@ -1,7 +1,7 @@ /**************************************************************************** * drivers/usbhost/usbhost_cdcacm.c * - * Copyright (C) 2015 Gregory Nutt. All rights reserved. + * Copyright (C) 2015-2016 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -49,6 +49,7 @@ #include #include +#include #include #include #include @@ -503,14 +504,14 @@ static FAR struct usbhost_cdcacm_s *usbhost_allocclass(void) * our pre-allocated class instances from the free list. */ - flags = irqsave(); + flags = enter_critical_section(); entry = g_freelist; if (entry) { g_freelist = entry->flink; } - irqrestore(flags); + leave_critical_section(flags); uvdbg("Allocated: %p\n", entry); return (FAR struct usbhost_cdcacm_s *)entry; } @@ -555,10 +556,10 @@ static void usbhost_freeclass(FAR struct usbhost_cdcacm_s *usbclass) /* Just put the pre-allocated class structure back on the freelist */ - flags = irqsave(); + flags = enter_critical_section(); entry->flink = g_freelist; g_freelist = entry; - irqrestore(flags); + leave_critical_section(flags); } #else static void usbhost_freeclass(FAR struct usbhost_cdcacm_s *usbclass) @@ -587,7 +588,7 @@ static int usbhost_devno_alloc(FAR struct usbhost_cdcacm_s *priv) irqstate_t flags; int devno; - flags = irqsave(); + flags = enter_critical_section(); for (devno = 0; devno < 32; devno++) { uint32_t bitno = 1 << devno; @@ -595,12 +596,12 @@ static int usbhost_devno_alloc(FAR struct usbhost_cdcacm_s *priv) { g_devinuse |= bitno; priv->minor = devno; - irqrestore(flags); + leave_critical_section(flags); return OK; } } - irqrestore(flags); + leave_critical_section(flags); return -EMFILE; } @@ -618,9 +619,9 @@ static void usbhost_devno_free(FAR struct usbhost_cdcacm_s *priv) if (devno >= 0 && devno < 32) { - irqstate_t flags = irqsave(); + irqstate_t flags = enter_critical_section(); g_devinuse &= ~(1 << devno); - irqrestore(flags); + leave_critical_section(flags); } } @@ -2113,7 +2114,7 @@ static int usbhost_disconnected(struct usbhost_class_s *usbclass) * is no longer available. */ - flags = irqsave(); + flags = enter_critical_section(); priv->disconnected = true; /* Let the upper half driver know that serial device is no longer @@ -2181,7 +2182,7 @@ static int usbhost_disconnected(struct usbhost_class_s *usbclass) } } - irqrestore(flags); + leave_critical_section(flags); return OK; } @@ -2217,7 +2218,7 @@ static int usbhost_setup(FAR struct uart_dev_s *uartdev) * isconnect events. */ - flags = irqsave(); + flags = enter_critical_section(); if (priv->disconnected) { /* No... the block driver is no longer bound to the class. That means that @@ -2235,7 +2236,7 @@ static int usbhost_setup(FAR struct uart_dev_s *uartdev) ret = OK; } - irqrestore(flags); + leave_critical_section(flags); usbhost_givesem(&priv->exclsem); return ret; } @@ -2275,7 +2276,7 @@ static void usbhost_shutdown(FAR struct uart_dev_s *uartdev) * no asynchronous disconnect events. */ - flags = irqsave(); + flags = enter_critical_section(); /* Check if the USB CDC/ACM device is still connected. If the * CDC/ACM device is not connected and the reference count just @@ -2291,7 +2292,7 @@ static void usbhost_shutdown(FAR struct uart_dev_s *uartdev) usbhost_destroy(priv); } - irqrestore(flags); + leave_critical_section(flags); } /**************************************************************************** diff --git a/drivers/usbhost/usbhost_findclass.c b/drivers/usbhost/usbhost_findclass.c index d65b49c502..b544b60f48 100644 --- a/drivers/usbhost/usbhost_findclass.c +++ b/drivers/usbhost/usbhost_findclass.c @@ -1,7 +1,7 @@ /**************************************************************************** * drivers/usbhost/usbhost_findclass.c * - * Copyright (C) 2010, 2015 Gregory Nutt. All rights reserved. + * Copyright (C) 2010, 2015-2016 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -44,28 +44,12 @@ #include #include +#include #include #include -#include #include "usbhost_registry.h" -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - /**************************************************************************** * Private Functions ****************************************************************************/ @@ -167,7 +151,7 @@ const struct usbhost_registry_s *usbhost_findclass(const struct usbhost_id_s *id * protected by disabling interrupts. */ - flags = irqsave(); + flags = enter_critical_section(); /* Examine each register class in the linked list */ @@ -186,7 +170,7 @@ const struct usbhost_registry_s *usbhost_findclass(const struct usbhost_id_s *id { /* Yes.. restore interrupts and return the class info */ - irqrestore(flags); + leave_critical_section(flags); return usbclass; } } @@ -194,7 +178,7 @@ const struct usbhost_registry_s *usbhost_findclass(const struct usbhost_id_s *id /* Not found... restore interrupts and return NULL */ - irqrestore(flags); + leave_critical_section(flags); return NULL; } diff --git a/drivers/usbhost/usbhost_hidkbd.c b/drivers/usbhost/usbhost_hidkbd.c index 5e820acb66..b36434dd31 100644 --- a/drivers/usbhost/usbhost_hidkbd.c +++ b/drivers/usbhost/usbhost_hidkbd.c @@ -1,7 +1,7 @@ /**************************************************************************** * drivers/usbhost/usbhost_hidkbd.c * - * Copyright (C) 2011-2013, 2015 Gregory Nutt. All rights reserved. + * Copyright (C) 2011-2013, 2015-2016 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -54,6 +54,7 @@ #include #include +#include #include #include #include @@ -704,7 +705,7 @@ static int usbhost_allocdevno(FAR struct usbhost_state_s *priv) irqstate_t flags; int devno; - flags = irqsave(); + flags = enter_critical_section(); for (devno = 0; devno < 26; devno++) { uint32_t bitno = 1 << devno; @@ -712,12 +713,12 @@ static int usbhost_allocdevno(FAR struct usbhost_state_s *priv) { g_devinuse |= bitno; priv->devchar = 'a' + devno; - irqrestore(flags); + leave_critical_section(flags); return OK; } } - irqrestore(flags); + leave_critical_section(flags); return -EMFILE; } @@ -727,9 +728,9 @@ static void usbhost_freedevno(FAR struct usbhost_state_s *priv) if (devno >= 0 && devno < 26) { - irqstate_t flags = irqsave(); + irqstate_t flags = enter_critical_section(); g_devinuse &= ~(1 << devno); - irqrestore(flags); + leave_critical_section(flags); } } @@ -1268,7 +1269,7 @@ static int usbhost_kbdpoll(int argc, char *argv[]) udbg("Keyboard removed, polling halted\n"); - flags = irqsave(); + flags = enter_critical_section(); priv->polling = false; /* Decrement the reference count held by this thread. */ @@ -1303,7 +1304,7 @@ static int usbhost_kbdpoll(int argc, char *argv[]) usbhost_givesem(&priv->exclsem); } - irqrestore(flags); + leave_critical_section(flags); return 0; } @@ -2068,7 +2069,7 @@ static int usbhost_open(FAR struct file *filep) * events. */ - flags = irqsave(); + flags = enter_critical_section(); if (priv->disconnected) { /* No... the driver is no longer bound to the class. That means that @@ -2086,7 +2087,7 @@ static int usbhost_open(FAR struct file *filep) priv->open = true; ret = OK; } - irqrestore(flags); + leave_critical_section(flags); usbhost_givesem(&priv->exclsem); return ret; @@ -2120,7 +2121,7 @@ static int usbhost_close(FAR struct file *filep) * asynchronous poll or disconnect events. */ - flags = irqsave(); + flags = enter_critical_section(); priv->crefs--; /* Check if the USB mouse device is still connected. If the device is @@ -2164,7 +2165,7 @@ static int usbhost_close(FAR struct file *filep) /* Skip giving the semaphore... it is no longer valid */ - irqrestore(flags); + leave_critical_section(flags); return OK; } else /* if (priv->crefs == 1) */ @@ -2180,7 +2181,7 @@ static int usbhost_close(FAR struct file *filep) } usbhost_givesem(&priv->exclsem); - irqrestore(flags); + leave_critical_section(flags); return OK; } diff --git a/drivers/usbhost/usbhost_hidmouse.c b/drivers/usbhost/usbhost_hidmouse.c index 86a7bda2de..c61541d9c2 100644 --- a/drivers/usbhost/usbhost_hidmouse.c +++ b/drivers/usbhost/usbhost_hidmouse.c @@ -1,7 +1,7 @@ /**************************************************************************** * drivers/usbhost/usbhost_hidmouse.c * - * Copyright (C) 2014, 2015 Gregory Nutt. All rights reserved. + * Copyright (C) 2014, 2015-2016 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -52,6 +52,7 @@ #include #include +#include #include #include #include @@ -564,7 +565,7 @@ static int usbhost_allocdevno(FAR struct usbhost_state_s *priv) irqstate_t flags; int devno; - flags = irqsave(); + flags = enter_critical_section(); for (devno = 0; devno < 26; devno++) { uint32_t bitno = 1 << devno; @@ -572,12 +573,12 @@ static int usbhost_allocdevno(FAR struct usbhost_state_s *priv) { g_devinuse |= bitno; priv->devno = devno; - irqrestore(flags); + leave_critical_section(flags); return OK; } } - irqrestore(flags); + leave_critical_section(flags); return -EMFILE; } @@ -587,9 +588,9 @@ static void usbhost_freedevno(FAR struct usbhost_state_s *priv) if (devno >= 0 && devno < 26) { - irqstate_t flags = irqsave(); + irqstate_t flags = enter_critical_section(); g_devinuse &= ~(1 << devno); - irqrestore(flags); + leave_critical_section(flags); } } @@ -1234,7 +1235,7 @@ static int usbhost_mouse_poll(int argc, char *argv[]) udbg("Mouse removed, polling halted\n"); - flags = irqsave(); + flags = enter_critical_section(); priv->polling = false; /* Decrement the reference count held by this thread. */ @@ -1269,7 +1270,7 @@ static int usbhost_mouse_poll(int argc, char *argv[]) usbhost_givesem(&priv->exclsem); } - irqrestore(flags); + leave_critical_section(flags); return ret; } @@ -1292,7 +1293,7 @@ static int usbhost_sample(FAR struct usbhost_state_s *priv, * from changing until it has been reported. */ - flags = irqsave(); + flags = enter_critical_section(); /* Is there new mouse data available? */ @@ -1329,7 +1330,7 @@ static int usbhost_sample(FAR struct usbhost_state_s *priv, ret = OK; } - irqrestore(flags); + leave_critical_section(flags); return ret; } @@ -1360,7 +1361,7 @@ static int usbhost_waitsample(FAR struct usbhost_state_s *priv, */ sched_lock(); - flags = irqsave(); + flags = enter_critical_section(); /* Now release the semaphore that manages mutually exclusive access to * the device structure. This may cause other tasks to become ready to @@ -1418,7 +1419,7 @@ errout: * have pre-emption disabled. */ - irqrestore(flags); + leave_critical_section(flags); /* Restore pre-emption. We might get suspended here but that is okay * because we already have our sample. Note: this means that if there @@ -2138,7 +2139,7 @@ static int usbhost_open(FAR struct file *filep) * events. */ - flags = irqsave(); + flags = enter_critical_section(); if (priv->disconnected) { /* No... the driver is no longer bound to the class. That means that @@ -2178,7 +2179,7 @@ static int usbhost_open(FAR struct file *filep) ret = OK; } - irqrestore(flags); + leave_critical_section(flags); usbhost_givesem(&priv->exclsem); return ret; @@ -2212,7 +2213,7 @@ static int usbhost_close(FAR struct file *filep) * asynchronous poll or disconnect events. */ - flags = irqsave(); + flags = enter_critical_section(); priv->crefs--; /* Check if the USB mouse device is still connected. If the device is @@ -2254,7 +2255,7 @@ static int usbhost_close(FAR struct file *filep) /* Skip giving the semaphore... it is no longer valid */ - irqrestore(flags); + leave_critical_section(flags); return OK; } else /* if (priv->crefs == 1) */ @@ -2270,7 +2271,7 @@ static int usbhost_close(FAR struct file *filep) } usbhost_givesem(&priv->exclsem); - irqrestore(flags); + leave_critical_section(flags); return OK; } diff --git a/drivers/usbhost/usbhost_hub.c b/drivers/usbhost/usbhost_hub.c index 170629987b..34b37f9b29 100644 --- a/drivers/usbhost/usbhost_hub.c +++ b/drivers/usbhost/usbhost_hub.c @@ -1,7 +1,7 @@ /**************************************************************************** * drivers/usbhost/usbhost_hub.c * - * Copyright (C) 2015 Gregory Nutt. All rights reserved. + * Copyright (C) 2015-2016 Gregory Nutt. All rights reserved. * Author: Kaushal Parikh * Gregory Nutt * @@ -48,6 +48,7 @@ #include #include +#include #include #include #include @@ -980,7 +981,7 @@ static void usbhost_hub_event(FAR void *arg) * removed. */ - flags = irqsave(); + flags = enter_critical_section(); if (!priv->disconnected) { /* Wait for the next hub event */ @@ -993,7 +994,7 @@ static void usbhost_hub_event(FAR void *arg) } } - irqrestore(flags); + leave_critical_section(flags); } /**************************************************************************** @@ -1038,7 +1039,7 @@ static void usbhost_disconnect_event(FAR void *arg) * longer available. */ - flags = irqsave(); + flags = enter_critical_section(); /* Cancel any pending transfers on the interrupt IN pipe */ @@ -1098,7 +1099,7 @@ static void usbhost_disconnect_event(FAR void *arg) kmm_free(hubclass); hport->devclass = NULL; - irqrestore(flags); + leave_critical_section(flags); } /**************************************************************************** @@ -1463,7 +1464,7 @@ static int usbhost_disconnected(struct usbhost_class_s *hubclass) * any subsequent completions of asynchronous transfers. */ - flags = irqsave(); + flags = enter_critical_section(); priv->disconnected = true; /* Cancel any pending work. There may be pending HUB work associated with @@ -1476,7 +1477,7 @@ static int usbhost_disconnected(struct usbhost_class_s *hubclass) ret = work_queue(LPWORK, &priv->work, (worker_t)usbhost_disconnect_event, hubclass, 0); - irqrestore(flags); + leave_critical_section(flags); return ret; } diff --git a/drivers/usbhost/usbhost_registerclass.c b/drivers/usbhost/usbhost_registerclass.c index 09d7c7c10d..aaf61d0428 100644 --- a/drivers/usbhost/usbhost_registerclass.c +++ b/drivers/usbhost/usbhost_registerclass.c @@ -43,7 +43,7 @@ #include #include -#include +#include #include #include "usbhost_registry.h" @@ -104,14 +104,14 @@ int usbhost_registerclass(struct usbhost_registry_s *usbclass) * protected by disabling interrupts. */ - flags = irqsave(); + flags = enter_critical_section(); /* Add the new class ID info to the head of the list */ usbclass->flink = g_classregistry; g_classregistry = usbclass; - irqrestore(flags); + leave_critical_section(flags); return OK; } diff --git a/drivers/usbhost/usbhost_skeleton.c b/drivers/usbhost/usbhost_skeleton.c index 7b39360458..9a7ed87de3 100644 --- a/drivers/usbhost/usbhost_skeleton.c +++ b/drivers/usbhost/usbhost_skeleton.c @@ -1,7 +1,7 @@ /**************************************************************************** * drivers/usbhost/usbhost_skeleton.c * - * Copyright (C) 2015 Gregory Nutt. All rights reserved. + * Copyright (C) 2016 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -47,6 +47,7 @@ #include #include +#include #include #include #include @@ -293,7 +294,7 @@ static int usbhost_allocdevno(FAR struct usbhost_state_s *priv) irqstate_t flags; int devno; - flags = irqsave(); + flags = enter_critical_section(); for (devno = 0; devno < 26; devno++) { uint32_t bitno = 1 << devno; @@ -301,12 +302,12 @@ static int usbhost_allocdevno(FAR struct usbhost_state_s *priv) { g_devinuse |= bitno; priv->devchar = 'a' + devno; - irqrestore(flags); + leave_critical_section(flags); return OK; } } - irqrestore(flags); + leave_critical_section(flags); return -EMFILE; } @@ -316,9 +317,9 @@ static void usbhost_freedevno(FAR struct usbhost_state_s *priv) if (devno >= 0 && devno < 26) { - irqstate_t flags = irqsave(); + irqstate_t flags = enter_critical_section(); g_devinuse &= ~(1 << devno); - irqrestore(flags); + leave_critical_section(flags); } } @@ -1003,7 +1004,7 @@ static int usbhost_disconnected(struct usbhost_class_s *usbclass) * longer available. */ - flags = irqsave(); + flags = enter_critical_section(); priv->disconnected = true; /* Now check the number of references on the class instance. If it is one, @@ -1036,7 +1037,7 @@ static int usbhost_disconnected(struct usbhost_class_s *usbclass) } } - irqrestore(flags); + leave_critical_section(flags); return OK; } diff --git a/drivers/usbhost/usbhost_storage.c b/drivers/usbhost/usbhost_storage.c index b314bd7294..5d01a22b06 100644 --- a/drivers/usbhost/usbhost_storage.c +++ b/drivers/usbhost/usbhost_storage.c @@ -1,7 +1,7 @@ /**************************************************************************** * drivers/usbhost/usbhost_storage.c * - * Copyright (C) 2010-2013, 2015 Gregory Nutt. All rights reserved. + * Copyright (C) 2010-2013, 2015-2016 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -48,6 +48,7 @@ #include #include +#include #include #include #include @@ -368,14 +369,14 @@ static inline FAR struct usbhost_state_s *usbhost_allocclass(void) * our pre-allocated class instances from the free list. */ - flags = irqsave(); + flags = enter_critical_section(); entry = g_freelist; if (entry) { g_freelist = entry->flink; } - irqrestore(flags); + leave_critical_section(flags); ullvdbg("Allocated: %p\n", entry); return (FAR struct usbhost_state_s *)entry; } @@ -420,10 +421,10 @@ static inline void usbhost_freeclass(FAR struct usbhost_state_s *usbclass) /* Just put the pre-allocated class structure back on the freelist */ - flags = irqsave(); + flags = enter_critical_section(); entry->flink = g_freelist; g_freelist = entry; - irqrestore(flags); + leave_critical_section(flags); } #else static inline void usbhost_freeclass(FAR struct usbhost_state_s *usbclass) @@ -452,7 +453,7 @@ static int usbhost_allocdevno(FAR struct usbhost_state_s *priv) irqstate_t flags; int devno; - flags = irqsave(); + flags = enter_critical_section(); for (devno = 0; devno < 26; devno++) { uint32_t bitno = 1 << devno; @@ -460,12 +461,12 @@ static int usbhost_allocdevno(FAR struct usbhost_state_s *priv) { g_devinuse |= bitno; priv->sdchar = 'a' + devno; - irqrestore(flags); + leave_critical_section(flags); return OK; } } - irqrestore(flags); + leave_critical_section(flags); return -EMFILE; } @@ -475,9 +476,9 @@ static void usbhost_freedevno(FAR struct usbhost_state_s *priv) if (devno >= 0 && devno < 26) { - irqstate_t flags = irqsave(); + irqstate_t flags = enter_critical_section(); g_devinuse &= ~(1 << devno); - irqrestore(flags); + leave_critical_section(flags); } } @@ -1820,7 +1821,7 @@ static int usbhost_disconnected(struct usbhost_class_s *usbclass) * is no longer available. */ - flags = irqsave(); + flags = enter_critical_section(); priv->disconnected = true; /* Now check the number of references on the class instance. If it is one, @@ -1853,7 +1854,7 @@ static int usbhost_disconnected(struct usbhost_class_s *usbclass) } } - irqrestore(flags); + leave_critical_section(flags); return OK; } @@ -1887,7 +1888,7 @@ static int usbhost_open(FAR struct inode *inode) * events. */ - flags = irqsave(); + flags = enter_critical_section(); if (priv->disconnected) { /* No... the block driver is no longer bound to the class. That means that @@ -1904,7 +1905,7 @@ static int usbhost_open(FAR struct inode *inode) priv->crefs++; ret = OK; } - irqrestore(flags); + leave_critical_section(flags); usbhost_givesem(&priv->exclsem); return ret; @@ -1943,7 +1944,7 @@ static int usbhost_close(FAR struct inode *inode) * no asynchronous disconnect events. */ - flags = irqsave(); + flags = enter_critical_section(); /* Check if the USB mass storage device is still connected. If the * storage device is not connected and the reference count just @@ -1959,7 +1960,7 @@ static int usbhost_close(FAR struct inode *inode) usbhost_destroy(priv); } - irqrestore(flags); + leave_critical_section(flags); return OK; } diff --git a/drivers/usbhost/usbhost_trace.c b/drivers/usbhost/usbhost_trace.c index 20a30a0c34..cd1ef92c4f 100644 --- a/drivers/usbhost/usbhost_trace.c +++ b/drivers/usbhost/usbhost_trace.c @@ -44,7 +44,7 @@ #include #include -#include +#include #include #undef usbtrace @@ -148,7 +148,7 @@ void usbhost_trace_common(uint32_t event) /* Check if tracing is enabled for this ID */ - flags = irqsave(); + flags = enter_critical_section(); if (!g_disabled) { /* Yes... save the new trace data at the head */ @@ -170,7 +170,7 @@ void usbhost_trace_common(uint32_t event) } } } - irqrestore(flags); + leave_critical_section(flags); } #endif /* CONFIG_USBHOST_TRACE */ diff --git a/drivers/wireless/cc3000/cc3000.c b/drivers/wireless/cc3000/cc3000.c index 68924193f2..f309e968fb 100644 --- a/drivers/wireless/cc3000/cc3000.c +++ b/drivers/wireless/cc3000/cc3000.c @@ -1,7 +1,7 @@ /**************************************************************************** * drivers/wireless/cc3000.c * - * Copyright (C) 2013-2015 Gregory Nutt. All rights reserved. + * Copyright (C) 2013-2016 Gregory Nutt. All rights reserved. * Authors: Gregory Nutt * David_s5 * @@ -63,6 +63,7 @@ #include #include +#include #include #include #include @@ -1377,10 +1378,10 @@ static int cc3000_ioctl(FAR struct file *filep, int cmd, unsigned long arg) DEBUGASSERT(psize != NULL); rv = priv->rx_buffer_max_len; - flags = irqsave(); + flags = enter_critical_section(); priv->rx_buffer_max_len = *psize; priv->rx_buffer.pbuffer = kmm_realloc(priv->rx_buffer.pbuffer, *psize); - irqrestore(flags); + leave_critical_section(flags); DEBUGASSERT(priv->rx_buffer.pbuffer); *psize = rv; break; @@ -1588,7 +1589,7 @@ int cc3000_register(FAR struct spi_dev_s *spi, #ifdef CONFIG_CC3000_MULTIPLE priv->flink = g_cc3000list; g_cc3000list = priv; - irqrestore(flags); + leave_critical_section(flags); #endif /* And return success (?) */ @@ -1726,7 +1727,7 @@ static int cc3000_add_socket(FAR struct cc3000_dev_s *priv, int sd) return sd; } - flags = irqsave(); + flags = enter_critical_section(); for (s = 0; s < CONFIG_WL_MAX_SOCKETS; s++) { if (priv->sockets[s].sd == FREE_SLOT) @@ -1738,7 +1739,7 @@ static int cc3000_add_socket(FAR struct cc3000_dev_s *priv, int sd) } } - irqrestore(flags); + leave_critical_section(flags); return s >= CONFIG_WL_MAX_SOCKETS ? -1 : OK; } @@ -1769,7 +1770,7 @@ static int cc3000_remove_socket(FAR struct cc3000_dev_s *priv, int sd) return sd; } - flags = irqsave(); + flags = enter_critical_section(); if (priv->accepting_socket.acc.sd == sd) { priv->accepting_socket.acc.sd = CLOSE_SLOT; @@ -1788,7 +1789,7 @@ static int cc3000_remove_socket(FAR struct cc3000_dev_s *priv, int sd) } } - irqrestore(flags); + leave_critical_section(flags); if (ps) { sched_lock(); @@ -1828,7 +1829,7 @@ static int cc3000_remote_closed_socket(FAR struct cc3000_dev_s *priv, int sd) return sd; } - flags = irqsave(); + flags = enter_critical_section(); for (s = 0; s < CONFIG_WL_MAX_SOCKETS; s++) { if (priv->sockets[s].sd == sd) @@ -1837,7 +1838,7 @@ static int cc3000_remote_closed_socket(FAR struct cc3000_dev_s *priv, int sd) } } - irqrestore(flags); + leave_critical_section(flags); return s >= CONFIG_WL_MAX_SOCKETS ? -1 : OK; }