Date: Wed, 11 Mar 1998 12:26:58 +1100 From: Bruce Evans <bde@zeta.org.au> To: dufault@hda.com, erich@lodgenet.com Cc: freebsd-scsi@FreeBSD.ORG, robsch@robkaos.ruhr.de Subject: Re: Scanner support Message-ID: <199803110126.MAA16949@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>>> I set the symlink >>> ln -s uk0 scanner >>> >>> But when I invoke scanimage I get the following message: >>> Mar 10 18:20:11 robkaos /kernel: uk0: physio split the request.. cannot proc >>eed >>> Mar 10 18:20:11 robkaos /kernel: uk0: physio split the request.. cannot proc >>eed >>> > >I saw almost the same thing with user level scsi commands to pt0, I traced >it back to scsi_ioctl.c. around line 290, bp gets bzero()ed, so b_kvasize >is forced to zero, regardless of what was passed, in. I patched as follows: >Index: scsi_ioctl.c >=================================================================== >RCS file: /cvs/FreeBSD/src/sys/scsi/scsi_ioctl.c,v >retrieving revision 1.29 >diff -u -r1.29 scsi_ioctl.c >--- scsi_ioctl.c 1998/02/01 18:09:46 1.29 >+++ scsi_ioctl.c 1998/03/09 23:18:17 >@@ -292,6 +292,7 @@ > bp->b_bcount = len = screq->datalen; > bp->b_screq = screq; > bp->b_sc_link = sc_link; >+ bp->b_kvasize = len; > if (len) { > struct uio auio; > struct iovec aiov; > > >It's worked on an ncr 53860, and an adaptec 2940 with blocks of >64 bytes and 64k, maybe sizes too. I'd kind of liked to put >some upper bound on len, rather than just using it, but this has >worked. See PR 5846. b_kvasize should be 0, since the buffer doesn't have any kva. Setting it to a large value here probably works because the value is never used except in the broken maxphys(). Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-scsi" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199803110126.MAA16949>