Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git] / drivers / scsi / megaraid / megaraid_mbox.c
index cd982c8..bec1424 100644 (file)
@@ -10,7 +10,7 @@
  *        2 of the License, or (at your option) any later version.
  *
  * FILE                : megaraid_mbox.c
- * Version     : v2.20.4.9 (Jul 16 2006)
+ * Version     : v2.20.4.8 (Apr 11 2006)
  *
  * Authors:
  *     Atul Mukker             <Atul.Mukker@lsil.com>
@@ -714,13 +714,12 @@ megaraid_io_detach(adapter_t *adapter)
  * . Allocate memory required for all the commands
  * . Use internal library of FW routines, build up complete soft state
  */
-static int __devinit
+static int __init
 megaraid_init_mbox(adapter_t *adapter)
 {
        struct pci_dev          *pdev;
        mraid_device_t          *raid_dev;
        int                     i;
-       uint32_t                magic64;
 
 
        adapter->ito    = MBOX_TIMEOUT;
@@ -768,7 +767,7 @@ megaraid_init_mbox(adapter_t *adapter)
        //
 
        // request IRQ and register the interrupt service routine
-       if (request_irq(adapter->irq, megaraid_isr, IRQF_SHARED, "megaraid",
+       if (request_irq(adapter->irq, megaraid_isr, SA_SHIRQ, "megaraid",
                adapter)) {
 
                con_log(CL_ANN, (KERN_WARNING
@@ -864,33 +863,12 @@ megaraid_init_mbox(adapter_t *adapter)
 
        // Set the DMA mask to 64-bit. All supported controllers as capable of
        // DMA in this range
-       pci_read_config_dword(adapter->pdev, PCI_CONF_AMISIG64, &magic64);
-
-       if (((magic64 == HBA_SIGNATURE_64_BIT) &&
-               ((adapter->pdev->subsystem_device !=
-               PCI_SUBSYS_ID_MEGARAID_SATA_150_6) ||
-               (adapter->pdev->subsystem_device !=
-               PCI_SUBSYS_ID_MEGARAID_SATA_150_4))) ||
-               (adapter->pdev->vendor == PCI_VENDOR_ID_LSI_LOGIC &&
-               adapter->pdev->device == PCI_DEVICE_ID_VERDE) ||
-               (adapter->pdev->vendor == PCI_VENDOR_ID_LSI_LOGIC &&
-               adapter->pdev->device == PCI_DEVICE_ID_DOBSON) ||
-               (adapter->pdev->vendor == PCI_VENDOR_ID_LSI_LOGIC &&
-               adapter->pdev->device == PCI_DEVICE_ID_LINDSAY) ||
-               (adapter->pdev->vendor == PCI_VENDOR_ID_DELL &&
-               adapter->pdev->device == PCI_DEVICE_ID_PERC4_DI_EVERGLADES) ||
-               (adapter->pdev->vendor == PCI_VENDOR_ID_DELL &&
-               adapter->pdev->device == PCI_DEVICE_ID_PERC4E_DI_KOBUK)) {
-               if (pci_set_dma_mask(adapter->pdev, DMA_64BIT_MASK)) {
-                       con_log(CL_ANN, (KERN_WARNING
-                               "megaraid: DMA mask for 64-bit failed\n"));
+       if (pci_set_dma_mask(adapter->pdev, DMA_64BIT_MASK) != 0) {
 
-                       if (pci_set_dma_mask (adapter->pdev, DMA_32BIT_MASK)) {
-                               con_log(CL_ANN, (KERN_WARNING
-                                       "megaraid: 32-bit DMA mask failed\n"));
-                               goto out_free_sysfs_res;
-                       }
-               }
+               con_log(CL_ANN, (KERN_WARNING
+                       "megaraid: could not set DMA mask for 64-bit.\n"));
+
+               goto out_free_sysfs_res;
        }
 
        // setup tasklet for DPC
@@ -1644,14 +1622,6 @@ megaraid_mbox_build_cmd(adapter_t *adapter, struct scsi_cmnd *scp, int *busy)
                                rdev->last_disp |= (1L << SCP2CHANNEL(scp));
                        }
 
-                       if (scp->cmnd[1] & MEGA_SCSI_INQ_EVPD) {
-                               scp->sense_buffer[0] = 0x70;
-                               scp->sense_buffer[2] = ILLEGAL_REQUEST;
-                               scp->sense_buffer[12] = MEGA_INVALID_FIELD_IN_CDB;
-                               scp->result = CHECK_CONDITION << 1;
-                               return NULL;
-                       }
-
                        /* Fall through */
 
                case READ_CAPACITY: