staging: unisys: visorchannel_write(): Use memcpy_toio() directly

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Jes Sorensen 2015-05-05 18:36:54 -04:00 committed by Greg Kroah-Hartman
parent d24c3f07a6
commit ad44088f08
1 changed files with 7 additions and 2 deletions

View File

@ -216,10 +216,15 @@ visorchannel_write(struct visorchannel *channel, ulong offset,
{ {
size_t size = sizeof(struct channel_header); size_t size = sizeof(struct channel_header);
if (offset + nbytes > channel->memregion.nbytes)
return -EIO;
if (!offset && nbytes >= size) if (!offset && nbytes >= size)
memcpy(&channel->chan_hdr, local, size); memcpy(&channel->chan_hdr, local, size);
return visor_memregion_write(&channel->memregion,
offset, local, nbytes); memcpy_toio(channel->memregion.mapped + offset, local, nbytes);
return 0;
} }
EXPORT_SYMBOL_GPL(visorchannel_write); EXPORT_SYMBOL_GPL(visorchannel_write);