summaryrefslogtreecommitdiffstats
path: root/cpukit/sapi/src/ioregisterdriver.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-10-09 13:46:39 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-10-09 13:46:39 +0000
commit031b57caa39e182fc851f79fcd6e279074710689 (patch)
tree84dae621acd6f9414c17e35c3c185333ab9c7e44 /cpukit/sapi/src/ioregisterdriver.c
parent2009-10-09 Sebastian Huber <Sebastian.Huber@embedded-brains.de> (diff)
downloadrtems-031b57caa39e182fc851f79fcd6e279074710689.tar.bz2
2009-10-09 Sebastian Huber <Sebastian.Huber@embedded-brains.de>
* cpukit/sapi/include/rtems/io.h: Documentation. * cpukit/sapi/src/ioregisterdriver.c: Call from interrupt context is an error. * cpukit/sapi/src/iounregisterdriver.c: Disable preemption during critical section.
Diffstat (limited to 'cpukit/sapi/src/ioregisterdriver.c')
-rw-r--r--cpukit/sapi/src/ioregisterdriver.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/cpukit/sapi/src/ioregisterdriver.c b/cpukit/sapi/src/ioregisterdriver.c
index f511aadf09..8a81e5c0ee 100644
--- a/cpukit/sapi/src/ioregisterdriver.c
+++ b/cpukit/sapi/src/ioregisterdriver.c
@@ -68,6 +68,9 @@ rtems_status_code rtems_io_register_driver(
{
rtems_device_major_number major_limit = _IO_Number_of_drivers;
+ if ( rtems_interrupt_is_in_progress() )
+ return RTEMS_CALLED_FROM_ISR;
+
if ( registered_major == NULL )
return RTEMS_INVALID_ADDRESS;