[PATCH] 3ware force 60 second timeout

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



James/linux-scsi,

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@xxxxxxxxx>

-Adam

Note:  This patch is included in-line below and also as an attachment.

diff -Naur linux-2.6.33-git15/drivers/scsi/3w-9xxx.c
linux-2.6.33-git16/drivers/scsi/3w-9xxx.c
--- linux-2.6.33-git15/drivers/scsi/3w-9xxx.c	2010-02-24
10:52:17.000000000 -0800
+++ linux-2.6.33-git16/drivers/scsi/3w-9xxx.c	2010-03-08
11:30:08.000000000 -0800
@@ -1,10 +1,11 @@
 /*
    3w-9xxx.c -- 3ware 9000 Storage Controller device driver for Linux.

-   Written By: Adam Radford <linuxraid@xxxxxxxx>
-   Modifications By: Tom Couch <linuxraid@xxxxxxxx>
+   Written By: Adam Radford <linuxraid@xxxxxxx>
+   Modifications By: Tom Couch <linuxraid@xxxxxxx>

    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
    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

    Bugs/Comments/Suggestions should be mailed to:
-   linuxraid@xxxxxxxx
+   linuxraid@xxxxxxx

    For more information, goto:
-   http://www.amcc.com
+   http://www.lsi.com

    Note: This version of the driver does not contain a bundled firmware
          image.
@@ -77,6 +78,7 @@
                  Use pci_resource_len() for ioremap().
    2.26.02.012 - Add power management support.
    2.26.02.013 - Fix bug in twa_load_sgl().
+   2.26.02.014 - Force 60 second timeout default.
 */

 #include <linux/module.h>
@@ -101,14 +103,14 @@
 #include "3w-9xxx.h"

 /* 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 unsigned int twa_device_extension_count;
 static int twa_major = -1;
 extern struct timezone sys_tz;

 /* Module parameters */
-MODULE_AUTHOR ("AMCC");
+MODULE_AUTHOR ("LSI");
 MODULE_DESCRIPTION ("3ware 9000 Storage Controller Linux Driver");
 MODULE_LICENSE("GPL");
 MODULE_VERSION(TW_DRIVER_VERSION);
@@ -1989,6 +1991,15 @@
 		scsi_dma_unmap(cmd);
 } /* 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 */
 static struct scsi_host_template driver_template = {
 	.module			= THIS_MODULE,
@@ -1998,6 +2009,7 @@
 	.bios_param		= twa_scsi_biosparam,
 	.change_queue_depth	= twa_change_queue_depth,
 	.can_queue		= TW_Q_LENGTH-2,
+	.slave_configure	= twa_slave_configure,
 	.this_id		= -1,
 	.sg_tablesize		= TW_APACHE_MAX_SGL_LENGTH,
 	.max_sectors		= TW_MAX_SECTORS,
diff -Naur linux-2.6.33-git15/drivers/scsi/3w-9xxx.h
linux-2.6.33-git16/drivers/scsi/3w-9xxx.h
--- linux-2.6.33-git15/drivers/scsi/3w-9xxx.h	2010-02-24
10:52:17.000000000 -0800
+++ linux-2.6.33-git16/drivers/scsi/3w-9xxx.h	2010-03-08
11:30:09.000000000 -0800
@@ -1,10 +1,11 @@
 /*
    3w-9xxx.h -- 3ware 9000 Storage Controller device driver for Linux.

-   Written By: Adam Radford <linuxraid@xxxxxxxx>
-   Modifications By: Tom Couch <linuxraid@xxxxxxxx>
+   Written By: Adam Radford <linuxraid@xxxxxxx>
+   Modifications By: Tom Couch <linuxraid@xxxxxxx>

    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
    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

    Bugs/Comments/Suggestions should be mailed to:
-   linuxraid@xxxxxxxx
+   linuxraid@xxxxxxx

    For more information, goto:
-   http://www.amcc.com
+   http://www.lsi.com
 */

 #ifndef _3W_9XXX_H
diff -Naur linux-2.6.33-git15/drivers/sc
si/3w-xxxx.c linux-2.6.33-git16/drivers/scsi/3w-xxxx.c
--- linux-2.6.33-git15/drivers/scsi/3w-xxxx.c	2010-02-24
10:52:17.000000000 -0800
+++ linux-2.6.33-git16/drivers/scsi/3w-xxxx.c	2010-03-08
11:30:18.000000000 -0800
@@ -1,12 +1,12 @@
 /*
    3w-xxxx.c -- 3ware Storage Controller device driver for Linux.

-   Written By: Adam Radford <linuxraid@xxxxxxxx>
+   Written By: Adam Radford <linuxraid@xxxxxxx>
    Modifications By: Joel Jacobson <linux@xxxxxxxxx>
    		     Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxxxxx>
                      Brad Strand <linux@xxxxxxxxx>

-   Copyright (C) 1999-2009 3ware Inc.
+   Copyright (C) 1999-2010 3ware Inc.

    Kernel compatibility By: 	Andre Hedrick <andre@xxxxxxxx>
    Non-Copyright (C) 2000	Andre Hedrick <andre@xxxxxxxx>
@@ -47,10 +47,10 @@
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

    Bugs/Comments/Suggestions should be mailed to:
-   linuxraid@xxxxxxxx
+   linuxraid@xxxxxxx

    For more information, goto:
-   http://www.amcc.com
+   http://www.lsi.com

    History
    -------
@@ -194,6 +194,7 @@
    1.26.02.002 - Free irq handler in __tw_shutdown().
                  Turn on RCD bit for caching mode page.
                  Serialize reset code.
+   1.26.02.003 - Force 60 second timeout default.
 */

 #include <linux/module.h>
@@ -218,13 +219,13 @@
 #include "3w-xxxx.h"

 /* 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 int tw_device_extension_count = 0;
 static int twe_major = -1;

 /* Module parameters */
-MODULE_AUTHOR("AMCC");
+MODULE_AUTHOR("LSI");
 MODULE_DESCRIPTION("3ware Storage Controller Linux Driver");
 MODULE_LICENSE("GPL");
 MODULE_VERSION(TW_DRIVER_VERSION);
@@ -2244,6 +2245,15 @@
 	__tw_shutdown(tw_dev);
 } /* 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 = {
 	.module			= THIS_MODULE,
 	.name			= "3ware Storage Controller",
@@ -2252,6 +2262,7 @@
 	.bios_param		= tw_scsi_biosparam,
 	.change_queue_depth	= tw_change_queue_depth,
 	.can_queue		= TW_Q_LENGTH-2,
+	.slave_configure	= tw_slave_configure,
 	.this_id		= -1,
 	.sg_tablesize		= TW_MAX_SGL_LENGTH,
 	.max_sectors		= TW_MAX_SECTORS,
diff -Naur linux-2.6.33-git15/drivers/scsi/3w-xxxx.h
linux-2.6.33-git16/drivers/scsi/3w-xxxx.h
--- linux-2.6.33-git15/drivers/scsi/3w-xxxx.h	2010-02-24
10:52:17.000000000 -0800
+++ linux-2.6.33-git16/drivers/scsi/3w-xxxx.h	2010-03-08
11:30:21.000000000 -0800
@@ -1,12 +1,12 @@
 /*
    3w-xxxx.h -- 3ware Storage Controller device driver for Linux.

-   Written By: Adam Radford <linuxraid@xxxxxxxx>
+   Written By: Adam Radford <linuxraid@xxxxxxx>
    Modifications By: Joel Jacobson <linux@xxxxxxxxx>
    		     Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxxxxx>
                      Brad Strand <linux@xxxxxxxxx>

-   Copyright (C) 1999-2009 3ware Inc.
+   Copyright (C) 1999-2010 3ware Inc.

    Kernel compatiblity By:	Andre Hedrick <andre@xxxxxxxx>
    Non-Copyright (C) 2000	Andre Hedrick <andre@xxxxxxxx>
@@ -45,10 +45,10 @@
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

    Bugs/Comments/Suggestions should be mailed to:
-   linuxraid@xxxxxxxx
+   linuxraid@xxxxxxx

    For more information, goto:
-   http://www.amcc.com
+   http://www.lsi.com
 */

 #ifndef _3W_XXXX_H
diff -Naur linux-2.6.33-git15/drivers/scsi/3w-9xxx.c linux-2.6.33-git16/drivers/scsi/3w-9xxx.c
--- linux-2.6.33-git15/drivers/scsi/3w-9xxx.c	2010-02-24 10:52:17.000000000 -0800
+++ linux-2.6.33-git16/drivers/scsi/3w-9xxx.c	2010-03-08 11:30:08.000000000 -0800
@@ -1,10 +1,11 @@
 /*
    3w-9xxx.c -- 3ware 9000 Storage Controller device driver for Linux.
 
-   Written By: Adam Radford <linuxraid@xxxxxxxx>
-   Modifications By: Tom Couch <linuxraid@xxxxxxxx>
+   Written By: Adam Radford <linuxraid@xxxxxxx>
+   Modifications By: Tom Couch <linuxraid@xxxxxxx>
 
    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
    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
 
    Bugs/Comments/Suggestions should be mailed to:
-   linuxraid@xxxxxxxx
+   linuxraid@xxxxxxx
 
    For more information, goto:
-   http://www.amcc.com
+   http://www.lsi.com
 
    Note: This version of the driver does not contain a bundled firmware
          image.
@@ -77,6 +78,7 @@
                  Use pci_resource_len() for ioremap().
    2.26.02.012 - Add power management support.
    2.26.02.013 - Fix bug in twa_load_sgl().
+   2.26.02.014 - Force 60 second timeout default.
 */
 
 #include <linux/module.h>
@@ -101,14 +103,14 @@
 #include "3w-9xxx.h"
 
 /* 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 unsigned int twa_device_extension_count;
 static int twa_major = -1;
 extern struct timezone sys_tz;
 
 /* Module parameters */
-MODULE_AUTHOR ("AMCC");
+MODULE_AUTHOR ("LSI");
 MODULE_DESCRIPTION ("3ware 9000 Storage Controller Linux Driver");
 MODULE_LICENSE("GPL");
 MODULE_VERSION(TW_DRIVER_VERSION);
@@ -1989,6 +1991,15 @@
 		scsi_dma_unmap(cmd);
 } /* 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 */
 static struct scsi_host_template driver_template = {
 	.module			= THIS_MODULE,
@@ -1998,6 +2009,7 @@
 	.bios_param		= twa_scsi_biosparam,
 	.change_queue_depth	= twa_change_queue_depth,
 	.can_queue		= TW_Q_LENGTH-2,
+	.slave_configure	= twa_slave_configure,
 	.this_id		= -1,
 	.sg_tablesize		= TW_APACHE_MAX_SGL_LENGTH,
 	.max_sectors		= TW_MAX_SECTORS,
diff -Naur linux-2.6.33-git15/drivers/scsi/3w-9xxx.h linux-2.6.33-git16/drivers/scsi/3w-9xxx.h
--- linux-2.6.33-git15/drivers/scsi/3w-9xxx.h	2010-02-24 10:52:17.000000000 -0800
+++ linux-2.6.33-git16/drivers/scsi/3w-9xxx.h	2010-03-08 11:30:09.000000000 -0800
@@ -1,10 +1,11 @@
 /*
    3w-9xxx.h -- 3ware 9000 Storage Controller device driver for Linux.
 
-   Written By: Adam Radford <linuxraid@xxxxxxxx>
-   Modifications By: Tom Couch <linuxraid@xxxxxxxx>
+   Written By: Adam Radford <linuxraid@xxxxxxx>
+   Modifications By: Tom Couch <linuxraid@xxxxxxx>
 
    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
    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
 
    Bugs/Comments/Suggestions should be mailed to:
-   linuxraid@xxxxxxxx
+   linuxraid@xxxxxxx
 
    For more information, goto:
-   http://www.amcc.com
+   http://www.lsi.com
 */
 
 #ifndef _3W_9XXX_H
diff -Naur linux-2.6.33-git15/drivers/scsi/3w-xxxx.c linux-2.6.33-git16/drivers/scsi/3w-xxxx.c
--- linux-2.6.33-git15/drivers/scsi/3w-xxxx.c	2010-02-24 10:52:17.000000000 -0800
+++ linux-2.6.33-git16/drivers/scsi/3w-xxxx.c	2010-03-08 11:30:18.000000000 -0800
@@ -1,12 +1,12 @@
 /* 
    3w-xxxx.c -- 3ware Storage Controller device driver for Linux.
 
-   Written By: Adam Radford <linuxraid@xxxxxxxx>
+   Written By: Adam Radford <linuxraid@xxxxxxx>
    Modifications By: Joel Jacobson <linux@xxxxxxxxx>
    		     Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxxxxx>
                      Brad Strand <linux@xxxxxxxxx>
 
-   Copyright (C) 1999-2009 3ware Inc.
+   Copyright (C) 1999-2010 3ware Inc.
 
    Kernel compatibility By: 	Andre Hedrick <andre@xxxxxxxx>
    Non-Copyright (C) 2000	Andre Hedrick <andre@xxxxxxxx>
@@ -47,10 +47,10 @@
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
 
    Bugs/Comments/Suggestions should be mailed to:                            
-   linuxraid@xxxxxxxx
+   linuxraid@xxxxxxx
 
    For more information, goto:
-   http://www.amcc.com
+   http://www.lsi.com
 
    History
    -------
@@ -194,6 +194,7 @@
    1.26.02.002 - Free irq handler in __tw_shutdown().
                  Turn on RCD bit for caching mode page.
                  Serialize reset code.
+   1.26.02.003 - Force 60 second timeout default.
 */
 
 #include <linux/module.h>
@@ -218,13 +219,13 @@
 #include "3w-xxxx.h"
 
 /* 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 int tw_device_extension_count = 0;
 static int twe_major = -1;
 
 /* Module parameters */
-MODULE_AUTHOR("AMCC");
+MODULE_AUTHOR("LSI");
 MODULE_DESCRIPTION("3ware Storage Controller Linux Driver");
 MODULE_LICENSE("GPL");
 MODULE_VERSION(TW_DRIVER_VERSION);
@@ -2244,6 +2245,15 @@
 	__tw_shutdown(tw_dev);
 } /* 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 = {
 	.module			= THIS_MODULE,
 	.name			= "3ware Storage Controller",
@@ -2252,6 +2262,7 @@
 	.bios_param		= tw_scsi_biosparam,
 	.change_queue_depth	= tw_change_queue_depth,
 	.can_queue		= TW_Q_LENGTH-2,
+	.slave_configure	= tw_slave_configure,
 	.this_id		= -1,
 	.sg_tablesize		= TW_MAX_SGL_LENGTH,
 	.max_sectors		= TW_MAX_SECTORS,
diff -Naur linux-2.6.33-git15/drivers/scsi/3w-xxxx.h linux-2.6.33-git16/drivers/scsi/3w-xxxx.h
--- linux-2.6.33-git15/drivers/scsi/3w-xxxx.h	2010-02-24 10:52:17.000000000 -0800
+++ linux-2.6.33-git16/drivers/scsi/3w-xxxx.h	2010-03-08 11:30:21.000000000 -0800
@@ -1,12 +1,12 @@
 /* 
    3w-xxxx.h -- 3ware Storage Controller device driver for Linux.
    
-   Written By: Adam Radford <linuxraid@xxxxxxxx>
+   Written By: Adam Radford <linuxraid@xxxxxxx>
    Modifications By: Joel Jacobson <linux@xxxxxxxxx>
    		     Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxxxxx>
                      Brad Strand <linux@xxxxxxxxx>
 
-   Copyright (C) 1999-2009 3ware Inc.
+   Copyright (C) 1999-2010 3ware Inc.
 
    Kernel compatiblity By:	Andre Hedrick <andre@xxxxxxxx>
    Non-Copyright (C) 2000	Andre Hedrick <andre@xxxxxxxx>
@@ -45,10 +45,10 @@
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
 
    Bugs/Comments/Suggestions should be mailed to:                            
-   linuxraid@xxxxxxxx
+   linuxraid@xxxxxxx
    
    For more information, goto:
-   http://www.amcc.com
+   http://www.lsi.com
 */
 
 #ifndef _3W_XXXX_H

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux