From 5dd83de94435affd9fcbdb84c2c7428fb23adf40 Mon Sep 17 00:00:00 2001 From: Daniel Hellstrom Date: Fri, 18 Jan 2013 13:16:05 +0100 Subject: GRSPW: fixed SET_RMAPEN and SET_RMAPBUFDIS Both ioctl commands destroyed the control register by writing the content of the status register into it. --- c/src/lib/libbsp/sparc/shared/spw/grspw.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/c/src/lib/libbsp/sparc/shared/spw/grspw.c b/c/src/lib/libbsp/sparc/shared/spw/grspw.c index b6ee255d36..5cedcb9812 100644 --- a/c/src/lib/libbsp/sparc/shared/spw/grspw.c +++ b/c/src/lib/libbsp/sparc/shared/spw/grspw.c @@ -1138,7 +1138,7 @@ static rtems_device_driver grspw_control( if ((unsigned int)ioarg->buffer > 1) { return RTEMS_INVALID_NAME; } - SPW_CTRL_WRITE(pDev, (SPW_STATUS_READ(pDev) & 0xFFFEFFFF) | ((unsigned int)ioarg->buffer << 16)); + SPW_CTRL_WRITE(pDev, (SPW_CTRL_READ(pDev) & 0xFFFEFFFF) | ((unsigned int)ioarg->buffer << 16)); if (((SPW_CTRL_READ(pDev) >> 16) & 1) != (unsigned int)ioarg->buffer) { return RTEMS_IO_ERROR; } @@ -1149,7 +1149,7 @@ static rtems_device_driver grspw_control( if ((unsigned int)ioarg->buffer > 1) { return RTEMS_INVALID_NAME; } - SPW_CTRL_WRITE(pDev, (SPW_STATUS_READ(pDev) & 0xFFFDFFFF) | ((unsigned int)ioarg->buffer << 17)); + SPW_CTRL_WRITE(pDev, (SPW_CTRL_READ(pDev) & 0xFFFDFFFF) | ((unsigned int)ioarg->buffer << 17)); if (((SPW_CTRL_READ(pDev) >> 17) & 1) != (unsigned int)ioarg->buffer) { return RTEMS_IO_ERROR; } -- cgit v1.2.3