patch-1.3.58 linux/drivers/scsi/scsi.c

Next file: linux/drivers/scsi/scsi_debug.c
Previous file: linux/drivers/scsi/hosts.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.57/linux/drivers/scsi/scsi.c linux/drivers/scsi/scsi.c
@@ -82,6 +82,8 @@
                  struct Scsi_Host *shpnt, char * scsi_result);
 void scsi_build_commandblocks(Scsi_Device * SDpnt);
 
+extern struct symbol_table scsi_symbol_table;
+
 
 static FreeSectorBitmap * dma_malloc_freelist = NULL;
 static int scsi_need_isa_bounce_buffers;
@@ -395,8 +397,8 @@
 
 
   /* Make sure we have something that is valid for DMA purposes */
-  scsi_result = ((!dma_malloc_freelist || !shpnt->unchecked_isa_dma)
-                 ? &scsi_result0[0] : scsi_malloc (512));
+  scsi_result = ( ( !shpnt->unchecked_isa_dma )
+                 ? &scsi_result0[0] : scsi_init_malloc (512, GFP_DMA));
 
   if (scsi_result == NULL) {
     printk ("Unable to obtain scsi_result buffer\n");
@@ -489,7 +491,7 @@
 
     /* If we allocated a buffer so we could do DMA, free it now */
     if (scsi_result != &scsi_result0[0] && scsi_result != NULL)
-      scsi_free (scsi_result, 512);
+      scsi_init_free (scsi_result, 512);
 
 }
 
@@ -2329,6 +2331,7 @@
     timer_table[SCSI_TIMER].fn = scsi_main_timeout;
     timer_table[SCSI_TIMER].expires = 0;
 
+    register_symtab(&scsi_symbol_table);
 
     /* Register the /proc/scsi/scsi entry */
 #if CONFIG_PROC_FS 
@@ -3116,8 +3119,6 @@
 #endif
 
 #ifdef MODULE
-
-extern struct symbol_table scsi_symbol_table;
 
 int init_module(void) {
     unsigned long size;

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this