From 9f0a68ce5afca9d21d34bab83d42fbe4bb0cf8ef Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 31 Oct 2012 11:54:39 +0100 Subject: libblock: Block device transfer request API change Add and use rtems_blkdev_request_done(). Block device transfer requests must signal the completion status now with rtems_blkdev_request_done(). The return value of the block device IO control will be ignored for transfer requests. The first parameter of rtems_blkdev_request_cb is now the transfer request structure. Renamed rtems_blkdev_request::req_done to rtems_blkdev_request::done to break third party drivers at compile time, otherwise this API change would result in runtime errors. --- testsuites/libtests/block06/init.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'testsuites/libtests/block06') diff --git a/testsuites/libtests/block06/init.c b/testsuites/libtests/block06/init.c index e007a5e49e..ff309b1bad 100644 --- a/testsuites/libtests/block06/init.c +++ b/testsuites/libtests/block06/init.c @@ -488,7 +488,7 @@ bdbuf_disk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp) { case RTEMS_BLKDEV_REQ_READ: if (!bdbuf_disk_ioctl_process (bdd, r)) - errno = EIO; + rtems_blkdev_request_done(r, RTEMS_IO_ERROR); else { rtems_blkdev_sg_buffer* sg = r->bufs; @@ -511,15 +511,16 @@ bdbuf_disk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp) remains -= length; } - r->req_done (r->done_arg, RTEMS_SUCCESSFUL); + rtems_blkdev_request_done (r, RTEMS_SUCCESSFUL); } bdbuf_disk_ioctl_leave (bdd, r->bufnum); break; case RTEMS_BLKDEV_REQ_WRITE: if (!bdbuf_disk_ioctl_process (bdd, r)) - errno = EIO; - r->req_done (r->done_arg, RTEMS_SUCCESSFUL); + rtems_blkdev_request_done(r, RTEMS_IO_ERROR); + else + rtems_blkdev_request_done(r, RTEMS_SUCCESSFUL); bdbuf_disk_ioctl_leave (bdd, r->bufnum); break; -- cgit v1.2.3