forked from Minki/linux
[SCSI] 3w-xxxx, 3w-9xxx: force 60 second timeout
This small patch forces 60 second timeouts for the older 3w-xxxx & 3w-9xxx drivers for systems that don't contain the udev rule for setting scsi timeouts to 60 seconds. Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
parent
bc0beb44f2
commit
4deedd845a
@ -1,10 +1,11 @@
|
|||||||
/*
|
/*
|
||||||
3w-9xxx.c -- 3ware 9000 Storage Controller device driver for Linux.
|
3w-9xxx.c -- 3ware 9000 Storage Controller device driver for Linux.
|
||||||
|
|
||||||
Written By: Adam Radford <linuxraid@amcc.com>
|
Written By: Adam Radford <linuxraid@lsi.com>
|
||||||
Modifications By: Tom Couch <linuxraid@amcc.com>
|
Modifications By: Tom Couch <linuxraid@lsi.com>
|
||||||
|
|
||||||
Copyright (C) 2004-2009 Applied Micro Circuits Corporation.
|
Copyright (C) 2004-2009 Applied Micro Circuits Corporation.
|
||||||
|
Copyright (C) 2010 LSI Corporation.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -40,10 +41,10 @@
|
|||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
|
||||||
Bugs/Comments/Suggestions should be mailed to:
|
Bugs/Comments/Suggestions should be mailed to:
|
||||||
linuxraid@amcc.com
|
linuxraid@lsi.com
|
||||||
|
|
||||||
For more information, goto:
|
For more information, goto:
|
||||||
http://www.amcc.com
|
http://www.lsi.com
|
||||||
|
|
||||||
Note: This version of the driver does not contain a bundled firmware
|
Note: This version of the driver does not contain a bundled firmware
|
||||||
image.
|
image.
|
||||||
@ -77,6 +78,7 @@
|
|||||||
Use pci_resource_len() for ioremap().
|
Use pci_resource_len() for ioremap().
|
||||||
2.26.02.012 - Add power management support.
|
2.26.02.012 - Add power management support.
|
||||||
2.26.02.013 - Fix bug in twa_load_sgl().
|
2.26.02.013 - Fix bug in twa_load_sgl().
|
||||||
|
2.26.02.014 - Force 60 second timeout default.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
@ -102,14 +104,14 @@
|
|||||||
#include "3w-9xxx.h"
|
#include "3w-9xxx.h"
|
||||||
|
|
||||||
/* Globals */
|
/* Globals */
|
||||||
#define TW_DRIVER_VERSION "2.26.02.013"
|
#define TW_DRIVER_VERSION "2.26.02.014"
|
||||||
static TW_Device_Extension *twa_device_extension_list[TW_MAX_SLOT];
|
static TW_Device_Extension *twa_device_extension_list[TW_MAX_SLOT];
|
||||||
static unsigned int twa_device_extension_count;
|
static unsigned int twa_device_extension_count;
|
||||||
static int twa_major = -1;
|
static int twa_major = -1;
|
||||||
extern struct timezone sys_tz;
|
extern struct timezone sys_tz;
|
||||||
|
|
||||||
/* Module parameters */
|
/* Module parameters */
|
||||||
MODULE_AUTHOR ("AMCC");
|
MODULE_AUTHOR ("LSI");
|
||||||
MODULE_DESCRIPTION ("3ware 9000 Storage Controller Linux Driver");
|
MODULE_DESCRIPTION ("3ware 9000 Storage Controller Linux Driver");
|
||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL");
|
||||||
MODULE_VERSION(TW_DRIVER_VERSION);
|
MODULE_VERSION(TW_DRIVER_VERSION);
|
||||||
@ -1990,6 +1992,15 @@ static void twa_unmap_scsi_data(TW_Device_Extension *tw_dev, int request_id)
|
|||||||
scsi_dma_unmap(cmd);
|
scsi_dma_unmap(cmd);
|
||||||
} /* End twa_unmap_scsi_data() */
|
} /* End twa_unmap_scsi_data() */
|
||||||
|
|
||||||
|
/* This function gets called when a disk is coming on-line */
|
||||||
|
static int twa_slave_configure(struct scsi_device *sdev)
|
||||||
|
{
|
||||||
|
/* Force 60 second timeout */
|
||||||
|
blk_queue_rq_timeout(sdev->request_queue, 60 * HZ);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
} /* End twa_slave_configure() */
|
||||||
|
|
||||||
/* scsi_host_template initializer */
|
/* scsi_host_template initializer */
|
||||||
static struct scsi_host_template driver_template = {
|
static struct scsi_host_template driver_template = {
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
@ -1999,6 +2010,7 @@ static struct scsi_host_template driver_template = {
|
|||||||
.bios_param = twa_scsi_biosparam,
|
.bios_param = twa_scsi_biosparam,
|
||||||
.change_queue_depth = twa_change_queue_depth,
|
.change_queue_depth = twa_change_queue_depth,
|
||||||
.can_queue = TW_Q_LENGTH-2,
|
.can_queue = TW_Q_LENGTH-2,
|
||||||
|
.slave_configure = twa_slave_configure,
|
||||||
.this_id = -1,
|
.this_id = -1,
|
||||||
.sg_tablesize = TW_APACHE_MAX_SGL_LENGTH,
|
.sg_tablesize = TW_APACHE_MAX_SGL_LENGTH,
|
||||||
.max_sectors = TW_MAX_SECTORS,
|
.max_sectors = TW_MAX_SECTORS,
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
/*
|
/*
|
||||||
3w-9xxx.h -- 3ware 9000 Storage Controller device driver for Linux.
|
3w-9xxx.h -- 3ware 9000 Storage Controller device driver for Linux.
|
||||||
|
|
||||||
Written By: Adam Radford <linuxraid@amcc.com>
|
Written By: Adam Radford <linuxraid@lsi.com>
|
||||||
Modifications By: Tom Couch <linuxraid@amcc.com>
|
Modifications By: Tom Couch <linuxraid@lsi.com>
|
||||||
|
|
||||||
Copyright (C) 2004-2009 Applied Micro Circuits Corporation.
|
Copyright (C) 2004-2009 Applied Micro Circuits Corporation.
|
||||||
|
Copyright (C) 2010 LSI Corporation.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -40,10 +41,10 @@
|
|||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
|
||||||
Bugs/Comments/Suggestions should be mailed to:
|
Bugs/Comments/Suggestions should be mailed to:
|
||||||
linuxraid@amcc.com
|
linuxraid@lsi.com
|
||||||
|
|
||||||
For more information, goto:
|
For more information, goto:
|
||||||
http://www.amcc.com
|
http://www.lsi.com
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _3W_9XXX_H
|
#ifndef _3W_9XXX_H
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
/*
|
/*
|
||||||
3w-xxxx.c -- 3ware Storage Controller device driver for Linux.
|
3w-xxxx.c -- 3ware Storage Controller device driver for Linux.
|
||||||
|
|
||||||
Written By: Adam Radford <linuxraid@amcc.com>
|
Written By: Adam Radford <linuxraid@lsi.com>
|
||||||
Modifications By: Joel Jacobson <linux@3ware.com>
|
Modifications By: Joel Jacobson <linux@3ware.com>
|
||||||
Arnaldo Carvalho de Melo <acme@conectiva.com.br>
|
Arnaldo Carvalho de Melo <acme@conectiva.com.br>
|
||||||
Brad Strand <linux@3ware.com>
|
Brad Strand <linux@3ware.com>
|
||||||
|
|
||||||
Copyright (C) 1999-2009 3ware Inc.
|
Copyright (C) 1999-2010 3ware Inc.
|
||||||
|
|
||||||
Kernel compatibility By: Andre Hedrick <andre@suse.com>
|
Kernel compatibility By: Andre Hedrick <andre@suse.com>
|
||||||
Non-Copyright (C) 2000 Andre Hedrick <andre@suse.com>
|
Non-Copyright (C) 2000 Andre Hedrick <andre@suse.com>
|
||||||
@ -47,10 +47,10 @@
|
|||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
|
||||||
Bugs/Comments/Suggestions should be mailed to:
|
Bugs/Comments/Suggestions should be mailed to:
|
||||||
linuxraid@amcc.com
|
linuxraid@lsi.com
|
||||||
|
|
||||||
For more information, goto:
|
For more information, goto:
|
||||||
http://www.amcc.com
|
http://www.lsi.com
|
||||||
|
|
||||||
History
|
History
|
||||||
-------
|
-------
|
||||||
@ -194,6 +194,7 @@
|
|||||||
1.26.02.002 - Free irq handler in __tw_shutdown().
|
1.26.02.002 - Free irq handler in __tw_shutdown().
|
||||||
Turn on RCD bit for caching mode page.
|
Turn on RCD bit for caching mode page.
|
||||||
Serialize reset code.
|
Serialize reset code.
|
||||||
|
1.26.02.003 - Force 60 second timeout default.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
@ -219,13 +220,13 @@
|
|||||||
#include "3w-xxxx.h"
|
#include "3w-xxxx.h"
|
||||||
|
|
||||||
/* Globals */
|
/* Globals */
|
||||||
#define TW_DRIVER_VERSION "1.26.02.002"
|
#define TW_DRIVER_VERSION "1.26.02.003"
|
||||||
static TW_Device_Extension *tw_device_extension_list[TW_MAX_SLOT];
|
static TW_Device_Extension *tw_device_extension_list[TW_MAX_SLOT];
|
||||||
static int tw_device_extension_count = 0;
|
static int tw_device_extension_count = 0;
|
||||||
static int twe_major = -1;
|
static int twe_major = -1;
|
||||||
|
|
||||||
/* Module parameters */
|
/* Module parameters */
|
||||||
MODULE_AUTHOR("AMCC");
|
MODULE_AUTHOR("LSI");
|
||||||
MODULE_DESCRIPTION("3ware Storage Controller Linux Driver");
|
MODULE_DESCRIPTION("3ware Storage Controller Linux Driver");
|
||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL");
|
||||||
MODULE_VERSION(TW_DRIVER_VERSION);
|
MODULE_VERSION(TW_DRIVER_VERSION);
|
||||||
@ -2245,6 +2246,15 @@ static void tw_shutdown(struct pci_dev *pdev)
|
|||||||
__tw_shutdown(tw_dev);
|
__tw_shutdown(tw_dev);
|
||||||
} /* End tw_shutdown() */
|
} /* End tw_shutdown() */
|
||||||
|
|
||||||
|
/* This function gets called when a disk is coming online */
|
||||||
|
static int tw_slave_configure(struct scsi_device *sdev)
|
||||||
|
{
|
||||||
|
/* Force 60 second timeout */
|
||||||
|
blk_queue_rq_timeout(sdev->request_queue, 60 * HZ);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
} /* End tw_slave_configure() */
|
||||||
|
|
||||||
static struct scsi_host_template driver_template = {
|
static struct scsi_host_template driver_template = {
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.name = "3ware Storage Controller",
|
.name = "3ware Storage Controller",
|
||||||
@ -2253,6 +2263,7 @@ static struct scsi_host_template driver_template = {
|
|||||||
.bios_param = tw_scsi_biosparam,
|
.bios_param = tw_scsi_biosparam,
|
||||||
.change_queue_depth = tw_change_queue_depth,
|
.change_queue_depth = tw_change_queue_depth,
|
||||||
.can_queue = TW_Q_LENGTH-2,
|
.can_queue = TW_Q_LENGTH-2,
|
||||||
|
.slave_configure = tw_slave_configure,
|
||||||
.this_id = -1,
|
.this_id = -1,
|
||||||
.sg_tablesize = TW_MAX_SGL_LENGTH,
|
.sg_tablesize = TW_MAX_SGL_LENGTH,
|
||||||
.max_sectors = TW_MAX_SECTORS,
|
.max_sectors = TW_MAX_SECTORS,
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
/*
|
/*
|
||||||
3w-xxxx.h -- 3ware Storage Controller device driver for Linux.
|
3w-xxxx.h -- 3ware Storage Controller device driver for Linux.
|
||||||
|
|
||||||
Written By: Adam Radford <linuxraid@amcc.com>
|
Written By: Adam Radford <linuxraid@lsi.com>
|
||||||
Modifications By: Joel Jacobson <linux@3ware.com>
|
Modifications By: Joel Jacobson <linux@3ware.com>
|
||||||
Arnaldo Carvalho de Melo <acme@conectiva.com.br>
|
Arnaldo Carvalho de Melo <acme@conectiva.com.br>
|
||||||
Brad Strand <linux@3ware.com>
|
Brad Strand <linux@3ware.com>
|
||||||
|
|
||||||
Copyright (C) 1999-2009 3ware Inc.
|
Copyright (C) 1999-2010 3ware Inc.
|
||||||
|
|
||||||
Kernel compatiblity By: Andre Hedrick <andre@suse.com>
|
Kernel compatiblity By: Andre Hedrick <andre@suse.com>
|
||||||
Non-Copyright (C) 2000 Andre Hedrick <andre@suse.com>
|
Non-Copyright (C) 2000 Andre Hedrick <andre@suse.com>
|
||||||
@ -45,10 +45,10 @@
|
|||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
|
||||||
Bugs/Comments/Suggestions should be mailed to:
|
Bugs/Comments/Suggestions should be mailed to:
|
||||||
linuxraid@amcc.com
|
linuxraid@lsi.com
|
||||||
|
|
||||||
For more information, goto:
|
For more information, goto:
|
||||||
http://www.amcc.com
|
http://www.lsi.com
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _3W_XXXX_H
|
#ifndef _3W_XXXX_H
|
||||||
|
Loading…
Reference in New Issue
Block a user