Update of /cvsroot/linux-vax/kernel-2.5/drivers/scsi
In directory usw-pr-cvs1:/tmp/cvs-serv7433/drivers/scsi
Modified Files:
Makefile scsi_ioctl.c scsi_merge.c
Log Message:
Merge with Linux 2.5.1.
Index: Makefile
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.5/drivers/scsi/Makefile,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Makefile 20 May 2002 00:33:36 -0000 1.2
+++ Makefile 31 May 2002 01:58:39 -0000 1.3
@@ -135,9 +135,10 @@
list-multi := scsi_mod.o sd_mod.o sr_mod.o initio.o a100u2w.o cpqfc.o
scsi_mod-objs := scsi.o hosts.o scsi_ioctl.o constants.o \
scsicam.o scsi_proc.o scsi_error.o \
- scsi_obsolete.o scsi_queue.o scsi_lib.o \
+ scsi_queue.o scsi_lib.o \
scsi_merge.o scsi_dma.o scsi_scan.o \
scsi_syms.o
+
sd_mod-objs := sd.o
sr_mod-objs := sr.o sr_ioctl.o sr_vendor.o
initio-objs := ini9100u.o i91uscsi.o
Index: scsi_ioctl.c
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.5/drivers/scsi/scsi_ioctl.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- scsi_ioctl.c 20 May 2002 00:33:36 -0000 1.2
+++ scsi_ioctl.c 31 May 2002 01:58:39 -0000 1.3
@@ -78,8 +78,7 @@
* *(char *) ((int *) arg)[2] the actual command byte.
*
* Note that if more than MAX_BUF bytes are requested to be transferred,
- * the ioctl will fail with error EINVAL. MAX_BUF can be increased in
- * the future by increasing the size that scsi_malloc will accept.
+ * the ioctl will fail with error EINVAL.
*
* This size *does not* include the initial lengths that were passed.
*
@@ -197,10 +196,14 @@
unsigned int inlen, outlen, cmdlen;
unsigned int needed, buf_needed;
int timeout, retries, result;
- int data_direction;
+ int data_direction, gfp_mask = GFP_KERNEL;
if (!sic)
return -EINVAL;
+
+ if (dev->host->unchecked_isa_dma)
+ gfp_mask |= GFP_DMA;
+
/*
* Verify that we can read at least this much.
*/
@@ -232,7 +235,7 @@
buf_needed = (buf_needed + 511) & ~511;
if (buf_needed > MAX_BUF)
buf_needed = MAX_BUF;
- buf = (char *) scsi_malloc(buf_needed);
+ buf = (char *) kmalloc(buf_needed, gfp_mask);
if (!buf)
return -ENOMEM;
memset(buf, 0, buf_needed);
@@ -341,7 +344,7 @@
error:
if (buf)
- scsi_free(buf, buf_needed);
+ kfree(buf);
return result;
Index: scsi_merge.c
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.5/drivers/scsi/scsi_merge.c,v
retrieving revision 1.1.1.2
retrieving revision 1.2
diff -u -r1.1.1.2 -r1.2
--- scsi_merge.c 30 May 2002 23:46:02 -0000 1.1.1.2
+++ scsi_merge.c 31 May 2002 01:58:39 -0000 1.2
@@ -135,6 +135,7 @@
*/
bounce_limit = BLK_BOUNCE_HIGH;
if (SHpnt->highmem_io && (SDpnt->type == TYPE_DISK)) {
+#if CONFIG_PCI
if (!PCI_DMA_BUS_IS_PHYS)
/* Platforms with virtual-DMA translation
* hardware have no practical limit.
@@ -142,6 +143,7 @@
bounce_limit = BLK_BOUNCE_ANY;
else
bounce_limit = SHpnt->pci_dev->dma_mask;
+#endif
}
if (SHpnt->unchecked_isa_dma)
bounce_limit = BLK_BOUNCE_ISA;
|