This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / drivers / scsi / megaraid.c
index 8d707b2..bdab1b6 100644 (file)
@@ -58,16 +58,16 @@ MODULE_LICENSE ("GPL");
 MODULE_VERSION(MEGARAID_MODULE_VERSION);
 
 static unsigned int max_cmd_per_lun = DEF_CMD_PER_LUN;
-module_param(max_cmd_per_lun, uint, 0);
+MODULE_PARM(max_cmd_per_lun, "i");
 MODULE_PARM_DESC(max_cmd_per_lun, "Maximum number of commands which can be issued to a single LUN (default=DEF_CMD_PER_LUN=63)");
 
 static unsigned short int max_sectors_per_io = MAX_SECTORS_PER_IO;
-module_param(max_sectors_per_io, ushort, 0);
+MODULE_PARM(max_sectors_per_io, "h");
 MODULE_PARM_DESC(max_sectors_per_io, "Maximum number of sectors per I/O request (default=MAX_SECTORS_PER_IO=128)");
 
 
 static unsigned short int max_mbox_busy_wait = MBOX_BUSY_WAIT;
-module_param(max_mbox_busy_wait, ushort, 0);
+MODULE_PARM(max_mbox_busy_wait, "h");
 MODULE_PARM_DESC(max_mbox_busy_wait, "Maximum wait for mailbox in microseconds if busy (default=MBOX_BUSY_WAIT=10)");
 
 #define RDINDOOR(adapter)              readl((adapter)->base + 0x20)
@@ -634,7 +634,11 @@ mega_build_cmd(adapter_t *adapter, Scsi_Cmnd *cmd, int *busy)
                        }
 
                        if(!(scb = mega_allocate_scb(adapter, cmd))) {
+
+                               cmd->result = (DID_ERROR << 16);
+                               cmd->scsi_done(cmd);
                                *busy = 1;
+
                                return NULL;
                        }
 
@@ -673,7 +677,11 @@ mega_build_cmd(adapter_t *adapter, Scsi_Cmnd *cmd, int *busy)
 
                        /* Allocate a SCB and initialize passthru */
                        if(!(scb = mega_allocate_scb(adapter, cmd))) {
+
+                               cmd->result = (DID_ERROR << 16);
+                               cmd->scsi_done(cmd);
                                *busy = 1;
+
                                return NULL;
                        }
                        pthru = scb->pthru;
@@ -715,7 +723,11 @@ mega_build_cmd(adapter_t *adapter, Scsi_Cmnd *cmd, int *busy)
 
                        /* Allocate a SCB and initialize mailbox */
                        if(!(scb = mega_allocate_scb(adapter, cmd))) {
+
+                               cmd->result = (DID_ERROR << 16);
+                               cmd->scsi_done(cmd);
                                *busy = 1;
+
                                return NULL;
                        }
                        mbox = (mbox_t *)scb->raw_mbox;
@@ -855,7 +867,11 @@ mega_build_cmd(adapter_t *adapter, Scsi_Cmnd *cmd, int *busy)
 
                        /* Allocate a SCB and initialize mailbox */
                        if(!(scb = mega_allocate_scb(adapter, cmd))) {
+
+                               cmd->result = (DID_ERROR << 16);
+                               cmd->scsi_done(cmd);
                                *busy = 1;
+
                                return NULL;
                        }
 
@@ -883,7 +899,11 @@ mega_build_cmd(adapter_t *adapter, Scsi_Cmnd *cmd, int *busy)
        else {
                /* Allocate a SCB and initialize passthru */
                if(!(scb = mega_allocate_scb(adapter, cmd))) {
+
+                       cmd->result = (DID_ERROR << 16);
+                       cmd->scsi_done(cmd);
                        *busy = 1;
+
                        return NULL;
                }
 
@@ -3986,7 +4006,7 @@ mega_enum_raid_scsi(adapter_t *adapter)
        mbox->m_out.xferaddr = (u32)adapter->buf_dma_handle;
 
        /*
-        * Non-ROMB firmware fail this command, so all channels
+        * Non-ROMB firware fail this command, so all channels
         * must be shown RAID
         */
        adapter->mega_ch_class = 0xFF;
@@ -5109,11 +5129,11 @@ static void __exit megaraid_exit(void)
         */
        unregister_chrdev(major, "megadev");
 
-       pci_unregister_driver(&megaraid_pci_driver);
-
 #ifdef CONFIG_PROC_FS
        remove_proc_entry("megaraid", &proc_root);
 #endif
+
+       pci_unregister_driver(&megaraid_pci_driver);
 }
 
 module_init(megaraid_init);