summaryrefslogtreecommitdiffstats
path: root/cpukit/libblock
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2002-09-06 12:01:30 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2002-09-06 12:01:30 +0000
commit662814d232d1ad4aa2bcb129b2c29e4fe038efa1 (patch)
tree64837a5f5b9e84faace6f52356fdc12d2d88c05c /cpukit/libblock
parent2002-09-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff)
downloadrtems-662814d232d1ad4aa2bcb129b2c29e4fe038efa1.tar.bz2
2002-09-06 Alexander M. Kukuta <kam@oktet.ru>
* src/bdbuf.c: Per PR282, correct problem in function rtems_bdbuf_read() where device ioctl() is called with the logical device number used instead of corresponding physical device number.
Diffstat (limited to 'cpukit/libblock')
-rw-r--r--cpukit/libblock/ChangeLog7
-rw-r--r--cpukit/libblock/src/bdbuf.c10
2 files changed, 12 insertions, 5 deletions
diff --git a/cpukit/libblock/ChangeLog b/cpukit/libblock/ChangeLog
index 02c6f7e939..2f1bfefc9c 100644
--- a/cpukit/libblock/ChangeLog
+++ b/cpukit/libblock/ChangeLog
@@ -1,3 +1,10 @@
+2002-09-06 Alexander M. Kukuta <kam@oktet.ru>
+
+ * src/bdbuf.c: Per PR282, correct problem in function
+ rtems_bdbuf_read() where device ioctl() is called with the
+ logical device number used instead of corresponding physical
+ device number.
+
2002-07-31 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Merge src/Makefile.am.
diff --git a/cpukit/libblock/src/bdbuf.c b/cpukit/libblock/src/bdbuf.c
index 0960ac4c3a..c05947d156 100644
--- a/cpukit/libblock/src/bdbuf.c
+++ b/cpukit/libblock/src/bdbuf.c
@@ -1088,8 +1088,8 @@ bdbuf_initialize_transfer_sema(bdbuf_buffer *bd_buf)
mutex_attr.discipline = CORE_MUTEX_DISCIPLINES_FIFO;
mutex_attr.priority_ceiling = 0;
- _CORE_mutex_Initialize(&bd_buf->transfer_sema,
- &mutex_attr, CORE_MUTEX_LOCKED);
+ _CORE_mutex_Initialize(&bd_buf->transfer_sema, OBJECTS_NO_CLASS,
+ &mutex_attr, CORE_MUTEX_LOCKED, NULL);
}
/* bdbuf_write_transfer_done --
@@ -1112,7 +1112,7 @@ bdbuf_write_transfer_done(void *arg, rtems_status_code status, int error)
{
bdbuf_buffer *bd_buf = arg;
bd_buf->status = status;
- bd_buf->error = error;
+ bd_buf->error = RTEMS_IO_ERROR;
bd_buf->in_progress = bd_buf->modified = FALSE;
_CORE_mutex_Surrender(&bd_buf->transfer_sema, 0, NULL);
_CORE_mutex_Flush(&bd_buf->transfer_sema, NULL,
@@ -1139,7 +1139,7 @@ bdbuf_read_transfer_done(void *arg, rtems_status_code status, int error)
{
bdbuf_buffer *bd_buf = arg;
bd_buf->status = status;
- bd_buf->error = error;
+ bd_buf->error = RTEMS_IO_ERROR;
_CORE_mutex_Surrender(&bd_buf->transfer_sema, 0, NULL);
_CORE_mutex_Flush(&bd_buf->transfer_sema, NULL,
CORE_MUTEX_STATUS_SUCCESSFUL);
@@ -1218,7 +1218,7 @@ rtems_bdbuf_read(dev_t device,
req.req.bufs[0].buffer = bd_buf->buffer;
bdbuf_initialize_transfer_sema(bd_buf);
- result = dd->ioctl(device, BLKIO_REQUEST, &req);
+ result = dd->ioctl(pdd->dev, BLKIO_REQUEST, &req);
if (result == -1)
{
bd_buf->status = RTEMS_IO_ERROR;