diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-03-28 16:30:43 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-03-28 16:30:43 -0400 |
commit | d54b3538b0bfb31351d02d1669d4a978d2abfc5f (patch) | |
tree | 5ce539ecba525b30bbfb1c46c55487099264947e /drivers/scsi/ipr.c | |
parent | 5d80f8e5a9dc9c9a94d4aeaa567e219a808b8a4a (diff) | |
parent | af50bb993dfa673cf21ab812efe620d7e0c36319 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (119 commits)
[SCSI] scsi_dh_rdac: Retry for NOT_READY check condition
[SCSI] mpt2sas: make global symbols unique
[SCSI] sd: Make revalidate less chatty
[SCSI] sd: Try READ CAPACITY 16 first for SBC-2 devices
[SCSI] sd: Refactor sd_read_capacity()
[SCSI] mpt2sas v00.100.11.15
[SCSI] mpt2sas: add MPT2SAS_MINOR(221) to miscdevice.h
[SCSI] ch: Add scsi type modalias
[SCSI] 3w-9xxx: add power management support
[SCSI] bsg: add linux/types.h include to bsg.h
[SCSI] cxgb3i: fix function descriptions
[SCSI] libiscsi: fix possbile null ptr session command cleanup
[SCSI] iscsi class: remove host no argument from session creation callout
[SCSI] libiscsi: pass session failure a session struct
[SCSI] iscsi lib: remove qdepth param from iscsi host allocation
[SCSI] iscsi lib: have lib create work queue for transmitting IO
[SCSI] iscsi class: fix lock dep warning on logout
[SCSI] libiscsi: don't cap queue depth in iscsi modules
[SCSI] iscsi_tcp: replace scsi_debug/tcp_debug logging with iscsi conn logging
[SCSI] libiscsi_tcp: replace tcp_debug/scsi_debug logging with session/conn logging
...
Diffstat (limited to 'drivers/scsi/ipr.c')
-rw-r--r-- | drivers/scsi/ipr.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c index 07829009a8be..def473f0a98f 100644 --- a/drivers/scsi/ipr.c +++ b/drivers/scsi/ipr.c | |||
@@ -152,13 +152,13 @@ module_param_named(log_level, ipr_log_level, uint, 0); | |||
152 | MODULE_PARM_DESC(log_level, "Set to 0 - 4 for increasing verbosity of device driver"); | 152 | MODULE_PARM_DESC(log_level, "Set to 0 - 4 for increasing verbosity of device driver"); |
153 | module_param_named(testmode, ipr_testmode, int, 0); | 153 | module_param_named(testmode, ipr_testmode, int, 0); |
154 | MODULE_PARM_DESC(testmode, "DANGEROUS!!! Allows unsupported configurations"); | 154 | MODULE_PARM_DESC(testmode, "DANGEROUS!!! Allows unsupported configurations"); |
155 | module_param_named(fastfail, ipr_fastfail, int, 0); | 155 | module_param_named(fastfail, ipr_fastfail, int, S_IRUGO | S_IWUSR); |
156 | MODULE_PARM_DESC(fastfail, "Reduce timeouts and retries"); | 156 | MODULE_PARM_DESC(fastfail, "Reduce timeouts and retries"); |
157 | module_param_named(transop_timeout, ipr_transop_timeout, int, 0); | 157 | module_param_named(transop_timeout, ipr_transop_timeout, int, 0); |
158 | MODULE_PARM_DESC(transop_timeout, "Time in seconds to wait for adapter to come operational (default: 300)"); | 158 | MODULE_PARM_DESC(transop_timeout, "Time in seconds to wait for adapter to come operational (default: 300)"); |
159 | module_param_named(enable_cache, ipr_enable_cache, int, 0); | 159 | module_param_named(enable_cache, ipr_enable_cache, int, 0); |
160 | MODULE_PARM_DESC(enable_cache, "Enable adapter's non-volatile write cache (default: 1)"); | 160 | MODULE_PARM_DESC(enable_cache, "Enable adapter's non-volatile write cache (default: 1)"); |
161 | module_param_named(debug, ipr_debug, int, 0); | 161 | module_param_named(debug, ipr_debug, int, S_IRUGO | S_IWUSR); |
162 | MODULE_PARM_DESC(debug, "Enable device driver debugging logging. Set to 1 to enable. (default: 0)"); | 162 | MODULE_PARM_DESC(debug, "Enable device driver debugging logging. Set to 1 to enable. (default: 0)"); |
163 | module_param_named(dual_ioa_raid, ipr_dual_ioa_raid, int, 0); | 163 | module_param_named(dual_ioa_raid, ipr_dual_ioa_raid, int, 0); |
164 | MODULE_PARM_DESC(dual_ioa_raid, "Enable dual adapter RAID support. Set to 1 to enable. (default: 1)"); | 164 | MODULE_PARM_DESC(dual_ioa_raid, "Enable dual adapter RAID support. Set to 1 to enable. (default: 1)"); |
@@ -354,6 +354,8 @@ struct ipr_error_table_t ipr_error_table[] = { | |||
354 | "9076: Configuration error, missing remote IOA"}, | 354 | "9076: Configuration error, missing remote IOA"}, |
355 | {0x06679100, 0, IPR_DEFAULT_LOG_LEVEL, | 355 | {0x06679100, 0, IPR_DEFAULT_LOG_LEVEL, |
356 | "4050: Enclosure does not support a required multipath function"}, | 356 | "4050: Enclosure does not support a required multipath function"}, |
357 | {0x06690000, 0, IPR_DEFAULT_LOG_LEVEL, | ||
358 | "4070: Logically bad block written on device"}, | ||
357 | {0x06690200, 0, IPR_DEFAULT_LOG_LEVEL, | 359 | {0x06690200, 0, IPR_DEFAULT_LOG_LEVEL, |
358 | "9041: Array protection temporarily suspended"}, | 360 | "9041: Array protection temporarily suspended"}, |
359 | {0x06698200, 0, IPR_DEFAULT_LOG_LEVEL, | 361 | {0x06698200, 0, IPR_DEFAULT_LOG_LEVEL, |
@@ -7147,6 +7149,7 @@ static void ipr_free_all_resources(struct ipr_ioa_cfg *ioa_cfg) | |||
7147 | 7149 | ||
7148 | ENTER; | 7150 | ENTER; |
7149 | free_irq(pdev->irq, ioa_cfg); | 7151 | free_irq(pdev->irq, ioa_cfg); |
7152 | pci_disable_msi(pdev); | ||
7150 | iounmap(ioa_cfg->hdw_dma_regs); | 7153 | iounmap(ioa_cfg->hdw_dma_regs); |
7151 | pci_release_regions(pdev); | 7154 | pci_release_regions(pdev); |
7152 | ipr_free_mem(ioa_cfg); | 7155 | ipr_free_mem(ioa_cfg); |
@@ -7432,6 +7435,11 @@ static int __devinit ipr_probe_ioa(struct pci_dev *pdev, | |||
7432 | goto out; | 7435 | goto out; |
7433 | } | 7436 | } |
7434 | 7437 | ||
7438 | if (!(rc = pci_enable_msi(pdev))) | ||
7439 | dev_info(&pdev->dev, "MSI enabled\n"); | ||
7440 | else if (ipr_debug) | ||
7441 | dev_info(&pdev->dev, "Cannot enable MSI\n"); | ||
7442 | |||
7435 | dev_info(&pdev->dev, "Found IOA with IRQ: %d\n", pdev->irq); | 7443 | dev_info(&pdev->dev, "Found IOA with IRQ: %d\n", pdev->irq); |
7436 | 7444 | ||
7437 | host = scsi_host_alloc(&driver_template, sizeof(*ioa_cfg)); | 7445 | host = scsi_host_alloc(&driver_template, sizeof(*ioa_cfg)); |
@@ -7574,6 +7582,7 @@ out_release_regions: | |||
7574 | out_scsi_host_put: | 7582 | out_scsi_host_put: |
7575 | scsi_host_put(host); | 7583 | scsi_host_put(host); |
7576 | out_disable: | 7584 | out_disable: |
7585 | pci_disable_msi(pdev); | ||
7577 | pci_disable_device(pdev); | 7586 | pci_disable_device(pdev); |
7578 | goto out; | 7587 | goto out; |
7579 | } | 7588 | } |