diff options
Diffstat (limited to 'drivers/scsi/tmscsim.c')
-rw-r--r-- | drivers/scsi/tmscsim.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/scsi/tmscsim.c b/drivers/scsi/tmscsim.c index 9404ff3d4c79..028d5f641cc6 100644 --- a/drivers/scsi/tmscsim.c +++ b/drivers/scsi/tmscsim.c | |||
@@ -279,6 +279,10 @@ static void dc390_ResetDevParam(struct dc390_acb* pACB); | |||
279 | static u32 dc390_laststatus = 0; | 279 | static u32 dc390_laststatus = 0; |
280 | static u8 dc390_adapterCnt = 0; | 280 | static u8 dc390_adapterCnt = 0; |
281 | 281 | ||
282 | static int disable_clustering; | ||
283 | module_param(disable_clustering, int, S_IRUGO); | ||
284 | MODULE_PARM_DESC(disable_clustering, "If you experience problems with your devices, try setting to 1"); | ||
285 | |||
282 | /* Startup values, to be overriden on the commandline */ | 286 | /* Startup values, to be overriden on the commandline */ |
283 | static int tmscsim[] = {-2, -2, -2, -2, -2, -2}; | 287 | static int tmscsim[] = {-2, -2, -2, -2, -2, -2}; |
284 | 288 | ||
@@ -2299,7 +2303,7 @@ static struct scsi_host_template driver_template = { | |||
2299 | .this_id = 7, | 2303 | .this_id = 7, |
2300 | .sg_tablesize = SG_ALL, | 2304 | .sg_tablesize = SG_ALL, |
2301 | .cmd_per_lun = 1, | 2305 | .cmd_per_lun = 1, |
2302 | .use_clustering = DISABLE_CLUSTERING, | 2306 | .use_clustering = ENABLE_CLUSTERING, |
2303 | }; | 2307 | }; |
2304 | 2308 | ||
2305 | /*********************************************************************** | 2309 | /*********************************************************************** |
@@ -2525,6 +2529,8 @@ static int __devinit dc390_probe_one(struct pci_dev *pdev, | |||
2525 | pci_set_master(pdev); | 2529 | pci_set_master(pdev); |
2526 | 2530 | ||
2527 | error = -ENOMEM; | 2531 | error = -ENOMEM; |
2532 | if (disable_clustering) | ||
2533 | driver_template.use_clustering = DISABLE_CLUSTERING; | ||
2528 | shost = scsi_host_alloc(&driver_template, sizeof(struct dc390_acb)); | 2534 | shost = scsi_host_alloc(&driver_template, sizeof(struct dc390_acb)); |
2529 | if (!shost) | 2535 | if (!shost) |
2530 | goto out_disable_device; | 2536 | goto out_disable_device; |
@@ -2660,6 +2666,10 @@ static struct pci_driver dc390_driver = { | |||
2660 | 2666 | ||
2661 | static int __init dc390_module_init(void) | 2667 | static int __init dc390_module_init(void) |
2662 | { | 2668 | { |
2669 | if (!disable_clustering) | ||
2670 | printk(KERN_INFO "DC390: clustering now enabled by default. If you get problems load\n" | ||
2671 | "\twith \"disable_clustering=1\" and report to maintainers\n"); | ||
2672 | |||
2663 | if (tmscsim[0] == -1 || tmscsim[0] > 15) { | 2673 | if (tmscsim[0] == -1 || tmscsim[0] > 15) { |
2664 | tmscsim[0] = 7; | 2674 | tmscsim[0] = 7; |
2665 | tmscsim[1] = 4; | 2675 | tmscsim[1] = 4; |