diff options
author | svn2git <svn2git@FreeBSD.org> | 1994-07-01 08:00:00 +0000 |
---|---|---|
committer | svn2git <svn2git@FreeBSD.org> | 1994-07-01 08:00:00 +0000 |
commit | 5e0e9b99dc3fc0ecd49d929db0d57c784b66f481 (patch) | |
tree | e779b5a6edddbb949b7990751b12d6f25304ba86 /sys/scsi/scsi_base.c | |
parent | a16f65c7d117419bd266c28a1901ef129a337569 (diff) |
Diffstat (limited to 'sys/scsi/scsi_base.c')
-rw-r--r-- | sys/scsi/scsi_base.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/sys/scsi/scsi_base.c b/sys/scsi/scsi_base.c index 53bf097d63bf..fbd02cab57b3 100644 --- a/sys/scsi/scsi_base.c +++ b/sys/scsi/scsi_base.c @@ -8,7 +8,7 @@ * file. * * Written by Julian Elischer (julian@dialix.oz.au) - * $Id: scsi_base.c,v 1.6 1994/02/07 02:15:01 rgrimes Exp $ + * $Id: scsi_base.c,v 1.8 1994/05/19 22:21:05 jkh Exp $ */ #define SPLSD splbio @@ -293,7 +293,7 @@ scsi_start_unit(sc_link, flags) 0, 0, 2, - 6000, + 10000, NULL, flags)); } @@ -321,7 +321,7 @@ scsi_stop_unit(sc_link, eject, flags) 0, 0, 2, - 6000, + 10000, NULL, flags)); } @@ -455,7 +455,11 @@ scsi_scsi_cmd(sc_link, scsi_cmd, cmdlen, data_addr, datalen, retval = EFAULT; goto bad; } - xs->data = malloc(datalen, M_TEMP, M_WAITOK); +#ifdef NOBOUNCE + xs->data = malloc(datalen, M_TEMP, M_WAITOK); +#else + xs->data = (caddr_t) vm_bounce_kva_alloc( (datalen + PAGE_SIZE - 1)/PAGE_SIZE); +#endif /* I think waiting is ok *//*XXX */ switch ((int)(flags & (SCSI_DATA_IN | SCSI_DATA_OUT))) { case 0: @@ -538,7 +542,11 @@ retry: bcopy(xs->data, data_addr, datalen); break; } +#ifdef NOBOUNCE free(xs->data, M_TEMP); +#else + vm_bounce_kva_alloc_free(xs->data, (datalen + PAGE_SIZE - 1)/PAGE_SIZE, 0); +#endif } /* * we have finished with the xfer stuct, free it and |