diff options
Diffstat (limited to 'drivers/scsi/megaraid')
-rw-r--r-- | drivers/scsi/megaraid/megaraid_mbox.c | 17 | ||||
-rw-r--r-- | drivers/scsi/megaraid/megaraid_mbox.h | 1 |
2 files changed, 18 insertions, 0 deletions
diff --git a/drivers/scsi/megaraid/megaraid_mbox.c b/drivers/scsi/megaraid/megaraid_mbox.c index 820f91fb63ba..70a0f11f48b2 100644 --- a/drivers/scsi/megaraid/megaraid_mbox.c +++ b/drivers/scsi/megaraid/megaraid_mbox.c | |||
@@ -3168,6 +3168,23 @@ megaraid_mbox_support_random_del(adapter_t *adapter) | |||
3168 | uint8_t raw_mbox[sizeof(mbox_t)]; | 3168 | uint8_t raw_mbox[sizeof(mbox_t)]; |
3169 | int rval; | 3169 | int rval; |
3170 | 3170 | ||
3171 | /* | ||
3172 | * Newer firmware on Dell CERC expect a different | ||
3173 | * random deletion handling, so disable it. | ||
3174 | */ | ||
3175 | if (adapter->pdev->vendor == PCI_VENDOR_ID_AMI && | ||
3176 | adapter->pdev->device == PCI_DEVICE_ID_AMI_MEGARAID3 && | ||
3177 | adapter->pdev->subsystem_vendor == PCI_VENDOR_ID_DELL && | ||
3178 | adapter->pdev->subsystem_device == PCI_SUBSYS_ID_CERC_ATA100_4CH && | ||
3179 | (adapter->fw_version[0] > '6' || | ||
3180 | (adapter->fw_version[0] == '6' && | ||
3181 | adapter->fw_version[2] > '6') || | ||
3182 | (adapter->fw_version[0] == '6' | ||
3183 | && adapter->fw_version[2] == '6' | ||
3184 | && adapter->fw_version[3] > '1'))) { | ||
3185 | con_log(CL_DLEVEL1, ("megaraid: disable random deletion\n")); | ||
3186 | return 0; | ||
3187 | } | ||
3171 | 3188 | ||
3172 | mbox = (mbox_t *)raw_mbox; | 3189 | mbox = (mbox_t *)raw_mbox; |
3173 | 3190 | ||
diff --git a/drivers/scsi/megaraid/megaraid_mbox.h b/drivers/scsi/megaraid/megaraid_mbox.h index 626459d1e902..c1d86d961a92 100644 --- a/drivers/scsi/megaraid/megaraid_mbox.h +++ b/drivers/scsi/megaraid/megaraid_mbox.h | |||
@@ -88,6 +88,7 @@ | |||
88 | #define PCI_SUBSYS_ID_PERC3_QC 0x0471 | 88 | #define PCI_SUBSYS_ID_PERC3_QC 0x0471 |
89 | #define PCI_SUBSYS_ID_PERC3_DC 0x0493 | 89 | #define PCI_SUBSYS_ID_PERC3_DC 0x0493 |
90 | #define PCI_SUBSYS_ID_PERC3_SC 0x0475 | 90 | #define PCI_SUBSYS_ID_PERC3_SC 0x0475 |
91 | #define PCI_SUBSYS_ID_CERC_ATA100_4CH 0x0511 | ||
91 | 92 | ||
92 | 93 | ||
93 | #define MBOX_MAX_SCSI_CMDS 128 // number of cmds reserved for kernel | 94 | #define MBOX_MAX_SCSI_CMDS 128 // number of cmds reserved for kernel |