aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/src/usbh/hal_usbh_aoa.c
diff options
context:
space:
mode:
authorDiego Ismirlian <dismirlian (at) google's mail.com>2017-07-16 20:01:50 -0300
committerDiego Ismirlian <dismirlian (at) google's mail.com>2017-07-16 20:01:50 -0300
commitdee22cee18dd98502b19e41e45503f8c20f447d6 (patch)
treed077ac7d6e50dad2fc7ca3909f1d2c9451031e99 /os/hal/src/usbh/hal_usbh_aoa.c
parentce8f18291fb45048685be52bcff5088b14a6823c (diff)
downloadChibiOS-Contrib-dee22cee18dd98502b19e41e45503f8c20f447d6.tar.gz
ChibiOS-Contrib-dee22cee18dd98502b19e41e45503f8c20f447d6.tar.bz2
ChibiOS-Contrib-dee22cee18dd98502b19e41e45503f8c20f447d6.zip
USBH: remove unnecessary reschedules and add necessary ones
Diffstat (limited to 'os/hal/src/usbh/hal_usbh_aoa.c')
-rw-r--r--os/hal/src/usbh/hal_usbh_aoa.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/os/hal/src/usbh/hal_usbh_aoa.c b/os/hal/src/usbh/hal_usbh_aoa.c
index 1526aa3..b8e37ae 100644
--- a/os/hal/src/usbh/hal_usbh_aoa.c
+++ b/os/hal/src/usbh/hal_usbh_aoa.c
@@ -295,7 +295,6 @@ static void _aoa_unload(usbh_baseclassdriver_t *drv) {
_stop_channelS(&aoap->channel);
aoap->channel.state = USBHAOA_CHANNEL_STATE_STOP;
aoap->state = USBHAOA_STATE_STOP;
- osalOsRescheduleS();
osalSysUnlock();
}
@@ -521,6 +520,7 @@ static void _stop_channelS(USBHAOAChannel *aoacp) {
chThdDequeueAllI(&aoacp->oq_waiting, Q_RESET);
chnAddFlagsI(aoacp, CHN_DISCONNECTED);
aoacp->state = USBHAOA_CHANNEL_STATE_ACTIVE;
+ osalOsRescheduleS();
}
static void _vt(void *p) {
@@ -562,9 +562,7 @@ void usbhaoaChannelStart(USBHAOADriver *aoap) {
aoacp->iq_counter = 0;
aoacp->iq_ptr = aoacp->iq_buff;
usbhEPOpen(&aoacp->epin);
- osalSysLock();
- usbhURBSubmitI(&aoacp->iq_urb);
- osalSysUnlock();
+ usbhURBSubmit(&aoacp->iq_urb);
chVTObjectInit(&aoacp->vt);
chVTSet(&aoacp->vt, MS2ST(16), _vt, aoacp);
@@ -579,7 +577,6 @@ void usbhaoaChannelStop(USBHAOADriver *aoap) {
|| (aoap->channel.state == USBHAOA_CHANNEL_STATE_READY));
osalSysLock();
_stop_channelS(&aoap->channel);
- osalOsRescheduleS();
osalSysUnlock();
}