public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Initio INI-9X00U/UW error handling in 2.6
@ 2004-04-26 11:24 Mirko Caserta
  2004-04-30 18:33 ` Jonathan McDowell
  0 siblings, 1 reply; 4+ messages in thread
From: Mirko Caserta @ 2004-04-26 11:24 UTC (permalink / raw)
  To: Linux Kernel ML


I was just wondering if someone is working on a fix for this:

i91u: PCI Base=0xD000, IRQ=11, BIOS=0xFF000, SCSI ID=7
i91u: Reset SCSI Bus ...
ERROR: SCSI host `INI9100U' has no error handling
ERROR: This is not a safe way to run your SCSI host
ERROR: The error handling must be added to this driver
[<c02f7728>] scsi_host_alloc+0x2d8/0x2e0
[<c02f774f>] scsi_register+0x1f/0x70
[<c02ffe0f>] i91u_detect+0x1bf/0x2d0
[<c0300440>] i91u_release+0x0/0x46
[<c04e43fe>] init_this_scsi_driver+0x3e/0x100
[<c04c892c>] do_initcalls+0x2c/0xc0
[<c012e1c5>] init_workqueues+0x15/0x2c
[<c01004ba>] init+0x5a/0x190
[<c0100460>] init+0x0/0x190
[<c0104035>] kernel_thread_helper+0x5/0x10
scsi0 : Initio INI-9X00U/UW SCSI device driver; Revision: 1.03g
scsi: Device offlined - not ready after error recovery: host 0 channel 0  
id 0 lun 0
scsi: Device offlined - not ready after error recovery: host 0 channel 0  
id 2 lun 0
scsi: Device offlined - not ready after error recovery: host 0 channel 0  
id 4 lun 0

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Initio INI-9X00U/UW error handling in 2.6
  2004-04-26 11:24 Initio INI-9X00U/UW error handling in 2.6 Mirko Caserta
@ 2004-04-30 18:33 ` Jonathan McDowell
  2004-05-02 21:58   ` Mirko Caserta
  0 siblings, 1 reply; 4+ messages in thread
From: Jonathan McDowell @ 2004-04-30 18:33 UTC (permalink / raw)
  To: Mirko Caserta; +Cc: Linux Kernel ML

[-- Attachment #1: Type: text/plain, Size: 800 bytes --]

On Mon, Apr 26, 2004 at 01:24:34PM +0200, Mirko Caserta wrote:
> I was just wondering if someone is working on a fix for this:
> 
> i91u: PCI Base=0xD000, IRQ=11, BIOS=0xFF000, SCSI ID=7
> i91u: Reset SCSI Bus ...
> ERROR: SCSI host `INI9100U' has no error handling
> ERROR: This is not a safe way to run your SCSI host
...

Try the attached; I wrote it a while back and made a cleanup based on
comments from James Bottomley, but no one else seemed to be using the
driver. It worked for me however.

J.

-- 
] http://www.earth.li/~noodles/ []  Hitler and a TGB.  On a bike.  At  [
]  PGP/GPG Key @ the.earth.li   []   158mph.  End of thread.  Have a   [
] via keyserver, web or email.  []            nice 'froup.             [
] RSA: 4DC4E7FD / DSA: 5B430367 []                                     [

[-- Attachment #2: initio.patch --]
[-- Type: text/plain, Size: 2243 bytes --]

diff -ruN linux-2.6.5.orig/drivers/scsi/ini9100u.c linux-2.6.5/drivers/scsi/ini9100u.c
--- linux-2.6.5.orig/drivers/scsi/ini9100u.c	2004-04-30 19:36:05.000000000 +0100
+++ linux-2.6.5/drivers/scsi/ini9100u.c	2004-04-30 19:40:06.000000000 +0100
@@ -106,6 +106,8 @@
  *		- Changed the assumption that HZ = 100
  * 10/17/03 mc	- v1.04
  *		- added new DMA API support
+ * 06/01/04 jmd	- v1.04a
+ *		- Re-add reset_bus support
  **************************************************************************/
 
 #define CVT_LINUX_VERSION(V,P,S)        (V * 65536 + P * 256 + S)
@@ -149,6 +151,7 @@
 	.queuecommand	= i91u_queue,
 //	.abort		= i91u_abort,
 //	.reset		= i91u_reset,
+	.eh_bus_reset_handler = i91u_bus_reset,
 	.bios_param	= i91u_biosparam,
 	.can_queue	= 1,
 	.this_id	= 1,
@@ -161,7 +164,7 @@
 char *i91uCopyright = "Copyright (C) 1996-98";
 char *i91uInitioName = "by Initio Corporation";
 char *i91uProductName = "INI-9X00U/UW";
-char *i91uVersion = "v1.04";
+char *i91uVersion = "v1.04a";
 
 #define TULSZ(sz)     (sizeof(sz) / sizeof(sz[0]))
 #define TUL_RDWORD(x,y)         (short)(inl((int)((ULONG)((ULONG)x+(UCHAR)y)) ))
@@ -550,6 +553,15 @@
 		return tul_device_reset(pHCB, (ULONG) SCpnt, SCpnt->device->id, reset_flags);
 }
 
+int i91u_bus_reset(Scsi_Cmnd * SCpnt)
+{
+	HCS *pHCB;
+
+	pHCB = (HCS *) SCpnt->device->host->base;
+	tul_reset_scsi(pHCB, 0);
+	return SUCCESS;
+}
+
 /*
  * Return the "logical geometry"
  */
diff -ruN linux-2.6.5.orig/drivers/scsi/ini9100u.h linux-2.6.5/drivers/scsi/ini9100u.h
--- linux-2.6.5.orig/drivers/scsi/ini9100u.h	2003-12-18 02:58:56.000000000 +0000
+++ linux-2.6.5/drivers/scsi/ini9100u.h	2004-04-30 19:39:30.000000000 +0100
@@ -82,10 +82,11 @@
 extern int i91u_queue(Scsi_Cmnd *, void (*done) (Scsi_Cmnd *));
 extern int i91u_abort(Scsi_Cmnd *);
 extern int i91u_reset(Scsi_Cmnd *, unsigned int);
+extern int i91u_bus_reset(Scsi_Cmnd *);
 extern int i91u_biosparam(struct scsi_device *, struct block_device *,
 		sector_t, int *);
 
-#define i91u_REVID "Initio INI-9X00U/UW SCSI device driver; Revision: 1.03g"
+#define i91u_REVID "Initio INI-9X00U/UW SCSI device driver; Revision: 1.04a"
 
 #define VIRT_TO_BUS(i)  (unsigned int) virt_to_bus((void *)(i))
 #define ULONG   unsigned long

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Initio INI-9X00U/UW error handling in 2.6
  2004-04-30 18:33 ` Jonathan McDowell
@ 2004-05-02 21:58   ` Mirko Caserta
  2004-05-04 22:52     ` Jonathan McDowell
  0 siblings, 1 reply; 4+ messages in thread
From: Mirko Caserta @ 2004-05-02 21:58 UTC (permalink / raw)
  To: Jonathan McDowell; +Cc: Linux Kernel ML

[-- Attachment #1: Type: text/plain, Size: 764 bytes --]

On Fri, 30 Apr 2004 19:33:49 +0100, Jonathan McDowell <noodles@earth.li>  
wrote:

> On Mon, Apr 26, 2004 at 01:24:34PM +0200, Mirko Caserta wrote:
>> I was just wondering if someone is working on a fix for this:
>>
>> i91u: PCI Base=0xD000, IRQ=11, BIOS=0xFF000, SCSI ID=7
>> i91u: Reset SCSI Bus ...
>> ERROR: SCSI host `INI9100U' has no error handling
>> ERROR: This is not a safe way to run your SCSI host
> ...
>
> Try the attached; I wrote it a while back and made a cleanup based on
> comments from James Bottomley, but no one else seemed to be using the
> driver. It worked for me however.

I had to hack it a little bit to make it cleanly patch my 2.6.6-rc2-mm2  
and it works great.

Thanks, could you please let this patch make its way upstream?

Mirko

[-- Attachment #2: initio.patch --]
[-- Type: application/octet-stream, Size: 2243 bytes --]

diff -ruN linux-2.6.5.orig/drivers/scsi/ini9100u.c linux-2.6.5/drivers/scsi/ini9100u.c
--- linux-2.6.5.orig/drivers/scsi/ini9100u.c	2004-04-30 19:36:05.000000000 +0100
+++ linux-2.6.5/drivers/scsi/ini9100u.c	2004-04-30 19:40:06.000000000 +0100
@@ -106,6 +106,8 @@
  *		- Changed the assumption that HZ = 100
  * 10/17/03 mc	- v1.04
  *		- added new DMA API support
+ * 06/01/04 jmd	- v1.04a
+ *		- Re-add reset_bus support
  **************************************************************************/
 
 #define CVT_LINUX_VERSION(V,P,S)        (V * 65536 + P * 256 + S)
@@ -149,6 +151,7 @@
 	.queuecommand	= i91u_queue,
 //	.abort		= i91u_abort,
 //	.reset		= i91u_reset,
+	.eh_bus_reset_handler = i91u_bus_reset,
 	.bios_param	= i91u_biosparam,
 	.can_queue	= 1,
 	.this_id	= 1,
@@ -161,7 +164,7 @@
 char *i91uCopyright = "Copyright (C) 1996-98";
 char *i91uInitioName = "by Initio Corporation";
 char *i91uProductName = "INI-9X00U/UW";
-char *i91uVersion = "v1.04";
+char *i91uVersion = "v1.04a";
 
 #define TULSZ(sz)     (sizeof(sz) / sizeof(sz[0]))
 #define TUL_RDWORD(x,y)         (short)(inl((int)((ULONG)((ULONG)x+(UCHAR)y)) ))
@@ -550,6 +553,15 @@
 		return tul_device_reset(pHCB, (ULONG) SCpnt, SCpnt->device->id, reset_flags);
 }
 
+int i91u_bus_reset(Scsi_Cmnd * SCpnt)
+{
+	HCS *pHCB;
+
+	pHCB = (HCS *) SCpnt->device->host->base;
+	tul_reset_scsi(pHCB, 0);
+	return SUCCESS;
+}
+
 /*
  * Return the "logical geometry"
  */
diff -ruN linux-2.6.5.orig/drivers/scsi/ini9100u.h linux-2.6.5/drivers/scsi/ini9100u.h
--- linux-2.6.5.orig/drivers/scsi/ini9100u.h	2003-12-18 02:58:56.000000000 +0000
+++ linux-2.6.5/drivers/scsi/ini9100u.h	2004-04-30 19:39:30.000000000 +0100
@@ -82,10 +82,11 @@
 extern int i91u_queue(Scsi_Cmnd *, void (*done) (Scsi_Cmnd *));
 extern int i91u_abort(Scsi_Cmnd *);
 extern int i91u_reset(Scsi_Cmnd *, unsigned int);
+extern int i91u_bus_reset(Scsi_Cmnd *);
 extern int i91u_biosparam(struct scsi_device *, struct block_device *,
 		sector_t, int *);
 
-#define i91u_REVID "Initio INI-9X00U/UW SCSI device driver; Revision: 1.03g"
+#define i91u_REVID "Initio INI-9X00U/UW SCSI device driver; Revision: 1.04a"
 
 #define VIRT_TO_BUS(i)  (unsigned int) virt_to_bus((void *)(i))
 #define ULONG   unsigned long

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Initio INI-9X00U/UW error handling in 2.6
  2004-05-02 21:58   ` Mirko Caserta
@ 2004-05-04 22:52     ` Jonathan McDowell
  0 siblings, 0 replies; 4+ messages in thread
From: Jonathan McDowell @ 2004-05-04 22:52 UTC (permalink / raw)
  To: Mirko Caserta; +Cc: Linux Kernel ML, linux-scsi

On Sun, May 02, 2004 at 11:58:59PM +0200, Mirko Caserta wrote:
> On Fri, 30 Apr 2004 19:33:49 +0100, Jonathan McDowell <noodles@earth.li>  
> wrote:
> >On Mon, Apr 26, 2004 at 01:24:34PM +0200, Mirko Caserta wrote:
> >>I was just wondering if someone is working on a fix for this:
> >>
> >>i91u: PCI Base=0xD000, IRQ=11, BIOS=0xFF000, SCSI ID=7
> >>i91u: Reset SCSI Bus ...
> >>ERROR: SCSI host `INI9100U' has no error handling
> >>ERROR: This is not a safe way to run your SCSI host
> >...
> >
> >Try the attached; I wrote it a while back and made a cleanup based on
> >comments from James Bottomley, but no one else seemed to be using the
> >driver. It worked for me however.
> I had to hack it a little bit to make it cleanly patch my 2.6.6-rc2-mm2  
> and it works great.

Cool, glad it works for you.

> Thanks, could you please let this patch make its way upstream?

I guess the right people to ask are the folk on linux-scsi; is there
any chance of it going into the linux-scsi bk patches that akpm is
pulling into -mm?

J.

-- 
Revd. Jonathan McDowell, ULC | noodles is criminal

------------
diff -ruN linux-2.6.5.orig/drivers/scsi/ini9100u.c linux-2.6.5/drivers/scsi/ini9100u.c
--- linux-2.6.5.orig/drivers/scsi/ini9100u.c	2004-04-30 19:36:05.000000000 +0100
+++ linux-2.6.5/drivers/scsi/ini9100u.c	2004-04-30 19:40:06.000000000 +0100
@@ -106,6 +106,8 @@
  *		- Changed the assumption that HZ = 100
  * 10/17/03 mc	- v1.04
  *		- added new DMA API support
+ * 06/01/04 jmd	- v1.04a
+ *		- Re-add reset_bus support
  **************************************************************************/
 
 #define CVT_LINUX_VERSION(V,P,S)        (V * 65536 + P * 256 + S)
@@ -149,6 +151,7 @@
 	.queuecommand	= i91u_queue,
 //	.abort		= i91u_abort,
 //	.reset		= i91u_reset,
+	.eh_bus_reset_handler = i91u_bus_reset,
 	.bios_param	= i91u_biosparam,
 	.can_queue	= 1,
 	.this_id	= 1,
@@ -161,7 +164,7 @@
 char *i91uCopyright = "Copyright (C) 1996-98";
 char *i91uInitioName = "by Initio Corporation";
 char *i91uProductName = "INI-9X00U/UW";
-char *i91uVersion = "v1.04";
+char *i91uVersion = "v1.04a";
 
 #define TULSZ(sz)     (sizeof(sz) / sizeof(sz[0]))
 #define TUL_RDWORD(x,y)         (short)(inl((int)((ULONG)((ULONG)x+(UCHAR)y)) ))
@@ -550,6 +553,15 @@
 		return tul_device_reset(pHCB, (ULONG) SCpnt, SCpnt->device->id, reset_flags);
 }
 
+int i91u_bus_reset(Scsi_Cmnd * SCpnt)
+{
+	HCS *pHCB;
+
+	pHCB = (HCS *) SCpnt->device->host->base;
+	tul_reset_scsi(pHCB, 0);
+	return SUCCESS;
+}
+
 /*
  * Return the "logical geometry"
  */
diff -ruN linux-2.6.5.orig/drivers/scsi/ini9100u.h linux-2.6.5/drivers/scsi/ini9100u.h
--- linux-2.6.5.orig/drivers/scsi/ini9100u.h	2003-12-18 02:58:56.000000000 +0000
+++ linux-2.6.5/drivers/scsi/ini9100u.h	2004-04-30 19:39:30.000000000 +0100
@@ -82,10 +82,11 @@
 extern int i91u_queue(Scsi_Cmnd *, void (*done) (Scsi_Cmnd *));
 extern int i91u_abort(Scsi_Cmnd *);
 extern int i91u_reset(Scsi_Cmnd *, unsigned int);
+extern int i91u_bus_reset(Scsi_Cmnd *);
 extern int i91u_biosparam(struct scsi_device *, struct block_device *,
 		sector_t, int *);
 
-#define i91u_REVID "Initio INI-9X00U/UW SCSI device driver; Revision: 1.03g"
+#define i91u_REVID "Initio INI-9X00U/UW SCSI device driver; Revision: 1.04a"
 
 #define VIRT_TO_BUS(i)  (unsigned int) virt_to_bus((void *)(i))
 #define ULONG   unsigned long

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-05-04 22:53 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-04-26 11:24 Initio INI-9X00U/UW error handling in 2.6 Mirko Caserta
2004-04-30 18:33 ` Jonathan McDowell
2004-05-02 21:58   ` Mirko Caserta
2004-05-04 22:52     ` Jonathan McDowell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox