Don't pass the 'error' return from an I/O port handler directly to vm_run().

Most I/O port handlers return -1 to signal an error. If this value is returned
without modification to vm_run() then it leads to incorrect behavior because
'-1' is interpreted as ERESTART at the system call level.

Fix this by always returning EIO to signal an error from an I/O port handler.

MFC after:	1 week


git-svn-id: svn+ssh://svn.freebsd.org/base/head@273666 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f