All of lore.kernel.org
 help / color / mirror / Atom feed
* qlogicpti on 2.6.1
@ 2004-01-14 22:00 Chris Ricker
  2004-01-15  9:11 ` David S. Miller
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Chris Ricker @ 2004-01-14 22:00 UTC (permalink / raw)
  To: sparclinux

Does / should the SBUS qlogicpti driver work in the 2.6 kernels?

I've got an SMP ultra2 with a D1000 attached which I've upgraded from 2.4.x
to 2.6. I've gotten everything else working, but when I modprobe qlogicpti
the box detects the disks in the D1000 and then locks hard.

Messages from qlogicpti look sane:

Jan 14 15:49:34 ultra2 kernel: qpti0: IRQ 7,7cb SCSI ID 7 (Firmware 
v1.31.32)(Firmware 1.25 96/10/15) [Ultra Wide, using differential interface]
Jan 14 15:49:34 ultra2 kernel: qpti1: IRQ 7,7d3 SCSI ID 7 (Firmware 
v1.31.32)(Firmware 1.25 96/10/15) [Ultra Wide, using differential interface]
Jan 14 15:49:35 ultra2 kernel: qpti2: IRQ 7,7db SCSI ID 7 (Firmware 
v1.31.32)(Firmware 1.25 96/10/15) [Ultra Wide, using differential interface]
Jan 14 15:49:35 ultra2 kernel: QPTI: Total of 3 PTI Qlogic/ISP hosts found, 
3 actually in use.
Jan 14 15:49:35 ultra2 kernel: scsi1 : PTI Qlogic,ISP SBUS SCSI irq 7,7cb 
regs at 1ff10010000
Jan 14 15:49:37 ultra2 kernel: scsi2 : PTI Qlogic,ISP SBUS SCSI irq 7,7d3 
regs at 1ff20010000
Jan 14 15:49:37 ultra2 kernel:   Vendor: SEAGATE   Model: ST39102LCSUN9.0G  
Rev: 0828
Jan 14 15:49:37 ultra2 kernel:   Type:   Direct-Access                      
ANSI SCSI revision: 02
Jan 14 15:49:37 ultra2 kernel: SCSI device sdc: 17689267 512-byte hdwr 
sectors (9057 MB)
Jan 14 15:49:37 ultra2 kernel: SCSI device sdc: drive cache: write through
Jan 14 15:49:37 ultra2 kernel:  sdc: sdc1 sdc3
Jan 14 15:49:37 ultra2 kernel: Attached scsi disk sdc at scsi2, channel 0, 
id 0, lun 0
<snip other disks attaching>
Jan 14 15:49:39 ultra2 kernel:   Vendor: SYMBIOS   Model: D1000             
Rev: 2
Jan 14 15:49:39 ultra2 kernel:   Type:   Processor                          
ANSI SCSI revision: 02
Jan 14 15:49:39 ultra2 kernel: scsi3 : PTI Qlogic,ISP SBUS SCSI irq 7,7db 
regs at 1ff30010000

but the box is completely dead (no Stop-A, no magic sysrq, no network 
activity) after this.

later,
chris

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

* Re: qlogicpti on 2.6.1
  2004-01-14 22:00 qlogicpti on 2.6.1 Chris Ricker
@ 2004-01-15  9:11 ` David S. Miller
  2004-01-15 16:17 ` Chris Ricker
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: David S. Miller @ 2004-01-15  9:11 UTC (permalink / raw)
  To: sparclinux

On Wed, 14 Jan 2004 17:00:22 -0500 (EST)
Chris Ricker <kaboom@gatech.edu> wrote:

> Does / should the SBUS qlogicpti driver work in the 2.6 kernels?

It's supposed to, but obviously it isn't from your report :)

I didn't see anything obvious by doing a cursory glance of the changes
made to this driver in 2.6.x, I'll do some more auditing tomorrow.

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

* Re: qlogicpti on 2.6.1
  2004-01-14 22:00 qlogicpti on 2.6.1 Chris Ricker
  2004-01-15  9:11 ` David S. Miller
@ 2004-01-15 16:17 ` Chris Ricker
  2004-01-15 18:58 ` David S. Miller
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Chris Ricker @ 2004-01-15 16:17 UTC (permalink / raw)
  To: sparclinux

On Thu, 15 Jan 2004, David S. Miller wrote:

> On Wed, 14 Jan 2004 17:00:22 -0500 (EST)
> Chris Ricker <kaboom@gatech.edu> wrote:
> 
> > Does / should the SBUS qlogicpti driver work in the 2.6 kernels?
> 
> It's supposed to, but obviously it isn't from your report :)
> 
> I didn't see anything obvious by doing a cursory glance of the changes
> made to this driver in 2.6.x, I'll do some more auditing tomorrow.

Since it's supposed to work, I did a bit more testing. If I boot 2.6.1-SMP, 
it locks hard right after the qlogicpti driver loads and the disk drives are 
detected.

If I recompile without SMP support, 2.6.1-UP loads the driver, and I'm able 
to mount and use the RAID 5 array on the D1000. No problems so far, in the 
hour or so I've been pounding it.

So, it might be SMP vs UP, or it might just be that my second CPU is dodgy, 
though I didn't have problems with 2.4 SMP on this box....

later,
chris

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

* Re: qlogicpti on 2.6.1
  2004-01-14 22:00 qlogicpti on 2.6.1 Chris Ricker
  2004-01-15  9:11 ` David S. Miller
  2004-01-15 16:17 ` Chris Ricker
@ 2004-01-15 18:58 ` David S. Miller
  2004-01-15 20:35 ` David S. Miller
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: David S. Miller @ 2004-01-15 18:58 UTC (permalink / raw)
  To: sparclinux

On Thu, 15 Jan 2004 11:17:05 -0500 (EST)
Chris Ricker <kaboom@gatech.edu> wrote:

> If I recompile without SMP support, 2.6.1-UP loads the driver, and I'm able 
> to mount and use the RAID 5 array on the D1000. No problems so far, in the 
> hour or so I've been pounding it.
> 
> So, it might be SMP vs UP, or it might just be that my second CPU is dodgy, 
> though I didn't have problems with 2.4 SMP on this box....

I very much think it is an SMP locking issue, thanks for getting this data point
which appears to confirm my suspicions.

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

* Re: qlogicpti on 2.6.1
  2004-01-14 22:00 qlogicpti on 2.6.1 Chris Ricker
                   ` (2 preceding siblings ...)
  2004-01-15 18:58 ` David S. Miller
@ 2004-01-15 20:35 ` David S. Miller
  2004-01-16 14:29 ` Chris Ricker
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: David S. Miller @ 2004-01-15 20:35 UTC (permalink / raw)
  To: sparclinux

On Thu, 15 Jan 2004 11:17:05 -0500 (EST)
Chris Ricker <kaboom@gatech.edu> wrote:

> If I recompile without SMP support, 2.6.1-UP loads the driver, and I'm able 
> to mount and use the RAID 5 array on the D1000. No problems so far, in the 
> hour or so I've been pounding it.

Give this patch a spin under SMP.

=== drivers/scsi/qlogicpti.c 1.21 vs edited ==--- 1.21/drivers/scsi/qlogicpti.c	Mon Jan  5 11:02:49 2004
+++ edited/drivers/scsi/qlogicpti.c	Thu Jan 15 12:33:45 2004
@@ -319,7 +319,7 @@
 
 	risc_code_addr = 0x1000;	/* all load addresses are at 0x1000 */
 
-	spin_lock_irqsave(&qpti->lock, flags);
+	spin_lock_irqsave(host->host_lock, flags);
 
 	sbus_writew(HCCTRL_PAUSE, qpti->qregs + HCCTRL);
 
@@ -367,7 +367,7 @@
 	if (qlogicpti_mbox_command(qpti, param, 1)) {
 		printk(KERN_EMERG "qlogicpti%d: Cannot execute ISP firmware.\n",
 		       qpti->qpti_id);
-		spin_unlock_irqrestore(&qpti->lock, flags);
+		spin_unlock_irqrestore(host->host_lock, flags);
 		return 1;
 	}
 
@@ -378,7 +378,7 @@
 	   (param[0] != MBOX_COMMAND_COMPLETE)) {
 		printk(KERN_EMERG "qlogicpti%d: Cannot set initiator SCSI ID.\n",
 		       qpti->qpti_id);
-		spin_unlock_irqrestore(&qpti->lock, flags);
+		spin_unlock_irqrestore(host->host_lock, flags);
 		return 1;
 	}
 
@@ -393,7 +393,7 @@
 	if (qlogicpti_mbox_command(qpti, param, 1)) {
 		printk(KERN_EMERG "qlogicpti%d: Cannot init response queue.\n",
 		       qpti->qpti_id);
-		spin_unlock_irqrestore(&qpti->lock, flags);
+		spin_unlock_irqrestore(host->host_lock, flags);
 		return 1;
 	}
 
@@ -405,7 +405,7 @@
 	if (qlogicpti_mbox_command(qpti, param, 1)) {
 		printk(KERN_EMERG "qlogicpti%d: Cannot init request queue.\n",
 		       qpti->qpti_id);
-		spin_unlock_irqrestore(&qpti->lock, flags);
+		spin_unlock_irqrestore(host->host_lock, flags);
 		return 1;
 	}
 
@@ -451,7 +451,7 @@
 	qlogicpti_mbox_command(qpti, param, 0);
 	qpti->send_marker = 1;
 
-	spin_unlock_irqrestore(&qpti->lock, flags);
+	spin_unlock_irqrestore(host->host_lock, flags);
 	return 0;
 }
 
@@ -459,6 +459,7 @@
 
 static int __init qlogicpti_load_firmware(struct qlogicpti *qpti)
 {
+	struct Scsi_Host *host = qpti->qhost;
 	unsigned short csum = 0;
 	unsigned short param[6];
 	unsigned short *risc_code, risc_code_addr, risc_code_length;
@@ -469,7 +470,7 @@
 	risc_code_addr = 0x1000;	/* all f/w modules load at 0x1000 */
 	risc_code_length = sbus_risc_code_length01;
 
-	spin_lock_irqsave(&qpti->lock, flags);
+	spin_lock_irqsave(host->host_lock, flags);
 
 	/* Verify the checksum twice, one before loading it, and once
 	 * afterwards via the mailbox commands.
@@ -477,7 +478,7 @@
 	for (i = 0; i < risc_code_length; i++)
 		csum += risc_code[i];
 	if (csum) {
-		spin_unlock_irqrestore(&qpti->lock, flags);
+		spin_unlock_irqrestore(host->host_lock, flags);
 		printk(KERN_EMERG "qlogicpti%d: Aieee, firmware checksum failed!",
 		       qpti->qpti_id);
 		return 1;
@@ -489,7 +490,7 @@
 	while (--timeout && (sbus_readw(qpti->qregs + SBUS_CTRL) & SBUS_CTRL_RESET))
 		udelay(20);
 	if (!timeout) {
-		spin_unlock_irqrestore(&qpti->lock, flags);
+		spin_unlock_irqrestore(host->host_lock, flags);
 		printk(KERN_EMERG "qlogicpti%d: Cannot reset the ISP.", qpti->qpti_id);
 		return 1;
 	}
@@ -529,7 +530,7 @@
 	if (qlogicpti_mbox_command(qpti, param, 1)) {
 		printk(KERN_EMERG "qlogicpti%d: Cannot stop firmware for reload.\n",
 		       qpti->qpti_id);
-		spin_unlock_irqrestore(&qpti->lock, flags);
+		spin_unlock_irqrestore(host->host_lock, flags);
 		return 1;
 	}		
 
@@ -542,7 +543,7 @@
 		    param[0] != MBOX_COMMAND_COMPLETE) {
 			printk("qlogicpti%d: Firmware dload failed, I'm bolixed!\n",
 			       qpti->qpti_id);
-			spin_unlock_irqrestore(&qpti->lock, flags);
+			spin_unlock_irqrestore(host->host_lock, flags);
 			return 1;
 		}
 	}
@@ -562,7 +563,7 @@
 	    (param[0] != MBOX_COMMAND_COMPLETE)) {
 		printk(KERN_EMERG "qlogicpti%d: New firmware csum failure!\n",
 		       qpti->qpti_id);
-		spin_unlock_irqrestore(&qpti->lock, flags);
+		spin_unlock_irqrestore(host->host_lock, flags);
 		return 1;
 	}
 
@@ -576,7 +577,7 @@
 	    (param[0] != MBOX_COMMAND_COMPLETE)) {
 		printk(KERN_EMERG "qlogicpti%d: AboutFirmware cmd fails.\n",
 		       qpti->qpti_id);
-		spin_unlock_irqrestore(&qpti->lock, flags);
+		spin_unlock_irqrestore(host->host_lock, flags);
 		return 1;
 	}
 
@@ -592,7 +593,7 @@
 	    (param[0] != MBOX_COMMAND_COMPLETE)) {
 		printk(KERN_EMERG "qlogicpti%d: could not set clock rate.\n",
 		       qpti->qpti_id);
-		spin_unlock_irqrestore(&qpti->lock, flags);
+		spin_unlock_irqrestore(host->host_lock, flags);
 		return 1;
 	}
 
@@ -609,7 +610,7 @@
 		qlogicpti_mbox_command(qpti, param, 1);
 	}
 
-	spin_unlock_irqrestore(&qpti->lock, flags);
+	spin_unlock_irqrestore(host->host_lock, flags);
 	return 0;
 }
 
@@ -844,8 +845,6 @@
 			}
 			qpti = (struct qlogicpti *) qpti_host->hostdata;
 
-			spin_lock_init(&qpti->lock);
-
 			/* We are wide capable, 16 targets. */
 			qpti_host->max_id = MAX_TARGETS;
 
@@ -1171,7 +1170,6 @@
 				       void (*done)(Scsi_Cmnd *))
 {
 	struct qlogicpti *qpti = (struct qlogicpti *) Cmnd->device->host->hostdata;
-	unsigned long flags;
 
 	/*
 	 * done checking this host adapter?
@@ -1188,8 +1186,6 @@
 		return qlogicpti_queuecommand(Cmnd, ourdone);
 	}
 
-	spin_lock_irqsave(&qpti->lock, flags);
-
 	/*
 	 * We've peeked at all targets for this bus- time
 	 * to set parameters for devices for real now.
@@ -1231,8 +1227,6 @@
 	if (qpti = NULL)
 		Cmnd->device->host->hostt->queuecommand = qlogicpti_queuecommand;
 
-	spin_unlock_irqrestore(&qpti->lock, flags);
-
 	return qlogicpti_queuecommand(Cmnd, done);
 }
 
@@ -1249,14 +1243,11 @@
 	struct Scsi_Host *host = Cmnd->device->host;
 	struct qlogicpti *qpti = (struct qlogicpti *) host->hostdata;
 	struct Command_Entry *cmd;
-	unsigned long flags;
 	u_int out_ptr;
 	int in_ptr;
 
 	Cmnd->scsi_done = done;
 
-	spin_lock_irqsave(&qpti->lock, flags);
-
 	in_ptr = qpti->req_in_ptr;
 	cmd = (struct Command_Entry *) &qpti->req_cpu[in_ptr];
 	out_ptr = sbus_readw(qpti->qregs + MBOX4);
@@ -1281,15 +1272,12 @@
 
 	update_can_queue(host, in_ptr, out_ptr);
 
-	spin_unlock_irqrestore(&qpti->lock, flags);
 	return 0;
 
 toss_command:
 	printk(KERN_EMERG "qlogicpti%d: request queue overflow\n",
 	       qpti->qpti_id);
 
-	spin_unlock_irqrestore(&qpti->lock, flags);
-
 	/* Unfortunately, unless you use the new EH code, which
 	 * we don't, the midlayer will ignore the return value,
 	 * which is insane.  We pick up the pieces like this.
@@ -1447,12 +1435,10 @@
 	unsigned long flags;
 	Scsi_Cmnd *dq;
 
-	spin_lock_irqsave(&qpti->lock, flags);
+	spin_lock_irqsave(qpti->qhost->host_lock, flags);
 	dq = qlogicpti_intr_handler(qpti);
-	spin_unlock(&qpti->lock);
 
 	if (dq != NULL) {
-		spin_lock(qpti->qhost->host_lock);
 		do {
 			Scsi_Cmnd *next;
 
@@ -1460,9 +1446,8 @@
 			dq->scsi_done(dq);
 			dq = next;
 		} while (dq != NULL);
-		spin_unlock(qpti->qhost->host_lock);
 	}
-	local_irq_restore(flags);
+	spin_unlock_irqrestore(qpti->qhost->host_lock, flags);
 
 	return IRQ_HANDLED;
 }
@@ -1473,15 +1458,12 @@
 	struct Scsi_Host *host = Cmnd->device->host;
 	struct qlogicpti *qpti = (struct qlogicpti *) host->hostdata;
 	int return_status = SUCCESS;
-	unsigned long flags;
 	u32 cmd_cookie;
 	int i;
 
 	printk(KERN_WARNING "qlogicpti : Aborting cmd for tgt[%d] lun[%d]\n",
 	       (int)Cmnd->device->id, (int)Cmnd->device->lun);
 
-	spin_lock_irqsave(&qpti->lock, flags);
-
 	qlogicpti_disable_irqs(qpti);
 
 	/* Find the 32-bit cookie we gave to the firmware for
@@ -1504,8 +1486,6 @@
 
 	qlogicpti_enable_irqs(qpti);
 
-	spin_unlock_irqrestore(&qpti->lock, flags);
-
 	return return_status;
 }
 
@@ -1515,12 +1495,9 @@
 	struct Scsi_Host *host = Cmnd->device->host;
 	struct qlogicpti *qpti = (struct qlogicpti *) host->hostdata;
 	int return_status = SUCCESS;
-	unsigned long flags;
 
 	printk(KERN_WARNING "qlogicpti : Resetting SCSI bus!\n");
 
-	spin_lock_irqsave(&qpti->lock, flags);
-
 	qlogicpti_disable_irqs(qpti);
 
 	param[0] = MBOX_BUS_RESET;
@@ -1532,8 +1509,6 @@
 	}
 
 	qlogicpti_enable_irqs(qpti);
-
-	spin_unlock_irqrestore(&qpti->lock, flags);
 
 	return return_status;
 }
=== drivers/scsi/qlogicpti.h 1.6 vs edited ==--- 1.6/drivers/scsi/qlogicpti.h	Sat Nov  2 02:12:18 2002
+++ edited/drivers/scsi/qlogicpti.h	Thu Jan 15 12:28:46 2004
@@ -335,7 +335,6 @@
 /* Software state for the driver. */
 struct qlogicpti {
 	/* These are the hot elements in the cache, so they come first. */
-	spinlock_t		  lock;			/* Driver mutex		      */
 	unsigned long             qregs;                /* Adapter registers          */
 	struct pti_queue_entry   *res_cpu;              /* Ptr to RESPONSE bufs (CPU) */
 	struct pti_queue_entry   *req_cpu;              /* Ptr to REQUEST bufs (CPU)  */

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

* Re: qlogicpti on 2.6.1
  2004-01-14 22:00 qlogicpti on 2.6.1 Chris Ricker
                   ` (3 preceding siblings ...)
  2004-01-15 20:35 ` David S. Miller
@ 2004-01-16 14:29 ` Chris Ricker
  2004-01-16 19:32 ` David S. Miller
  2004-01-17  1:15 ` FW: " John Belshaw
  6 siblings, 0 replies; 8+ messages in thread
From: Chris Ricker @ 2004-01-16 14:29 UTC (permalink / raw)
  To: sparclinux

On Thu, 15 Jan 2004, David S. Miller wrote:

> On Thu, 15 Jan 2004 11:17:05 -0500 (EST)
> Chris Ricker <kaboom@gatech.edu> wrote:
> 
> > If I recompile without SMP support, 2.6.1-UP loads the driver, and I'm able 
> > to mount and use the RAID 5 array on the D1000. No problems so far, in the 
> > hour or so I've been pounding it.
> 
> Give this patch a spin under SMP.

That's been running overnight without problems on 2.6.1-SMP. Thanks much!

later,
chris

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

* Re: qlogicpti on 2.6.1
  2004-01-14 22:00 qlogicpti on 2.6.1 Chris Ricker
                   ` (4 preceding siblings ...)
  2004-01-16 14:29 ` Chris Ricker
@ 2004-01-16 19:32 ` David S. Miller
  2004-01-17  1:15 ` FW: " John Belshaw
  6 siblings, 0 replies; 8+ messages in thread
From: David S. Miller @ 2004-01-16 19:32 UTC (permalink / raw)
  To: sparclinux

On Fri, 16 Jan 2004 09:29:41 -0500 (EST)
Chris Ricker <kaboom@gatech.edu> wrote:

> That's been running overnight without problems on 2.6.1-SMP. Thanks much!

Thanks a ton for your report and testing Christ.

I'll push this fix to Linus.


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

* FW: qlogicpti on 2.6.1
  2004-01-14 22:00 qlogicpti on 2.6.1 Chris Ricker
                   ` (5 preceding siblings ...)
  2004-01-16 19:32 ` David S. Miller
@ 2004-01-17  1:15 ` John Belshaw
  6 siblings, 0 replies; 8+ messages in thread
From: John Belshaw @ 2004-01-17  1:15 UTC (permalink / raw)
  To: sparclinux



-----Original Message-----
From: John Belshaw [mailto:jbelshaw@tiscali.nl]
Sent: Saturday, January 17, 2004 1:13 AM
To: David S. Miller
Subject: RE: qlogicpti on 2.6.1


Hi David,

I tried your qlogicpti patch on my e5000 with 2.6.1-bk1.
It allowed me to at boot on 2.6.1 which was great !
But I soon found a problem.

This is a 4 cpu box with a d1000 and 8 disks on 1 controller.

When building a raid 5 array across the 8 disks I get the following oops :

No modules in ksyms, skipping objects
No ksyms, skipping lsmod
Unable to handle kernel NULL pointer dereference
tsk->{mm,active_mm}->context = 0000000000000446
tsk->{mm,active_mm}->pgd = fffff80058916000
              \|/ ____ \|/
              "@'/ .. \`@"
              /_| \__/ |_\
                 \__U_/
swapper(0): Oops [#1]
TSTATE: 0000009980f09606 TPC: 00000000005b6fec TNPC: 00000000005b6f60 Y:
000000d
Using defaults from ksymoops -t elf32-sparc -a sparc
g0: 00000000000000cb g1: 0000000000000000 g2: 00000000005b5740 g3:
00000000005bc
g4: 000000000066fcc0 g5: 0000000000000000 g6: 000000000066bcc0 g7:
0000000000000
o0: 0000000000000000 o1: 0000000000000000 o2: 0000000000000000 o3:
fffff800013c0
o4: 0000000000000010 o5: fffff800013f1b80 sp: 000000000066eec1 ret_pc:
000000000
l0: fffff8005f1bb340 l1: 0000000000000000 l2: 00000000000000ce l3:
0000000000000
l4: 00000000000000ce l5: 0000000000670c00 l6: 0000000000001018 l7:
0000000000008
i0: fffff800016802e0 i1: 0000000000000001 i2: 00000000006f51a0 i3:
0000000000000
i4: 0000000000001c18 i5: 0000000000001818 i6: 000000000066ef81 i7:
00000000005b0

>>PC;  005b6fec <qlogicpti_intr_handler+1cc/200>   <==>>O7;  00000000 Before first symbol
>>I7;  000005b0 Before first symbol

Instruction DUMP: 7fffff50  90100010  106fffde <d02461a8> 92042020  7ffe8e83
9
Error (Oops_code_values): invalid value 0x9 in Code line, must be 2, 4, 8 or
16
digits, value ignored

Code;  005b6fe0 <qlogicpti_intr_handler+1c0/200>
00000000 <_PC>:
Code;  005b6fe0 <qlogicpti_intr_handler+1c0/200>
   0:   7f ff ff 50       call  fffffd40 <_PC+0xfffffd40> 005b6d20
<qlogicpti_re
turn_status+0/100>
Code;  005b6fe4 <qlogicpti_intr_handler+1c4/200>
   4:   90 10 00 10       mov  %l0, %o0
Code;  005b6fe8 <qlogicpti_intr_handler+1c8/200>
   8:   10 6f ff de       unknown
Code;  005b6fec <qlogicpti_intr_handler+1cc/200>
   c:   d0 24 61 a8       st  %o0, [ %l1 + 0x1a8 ]
Code;  005b6ff0 <qlogicpti_intr_handler+1d0/200>
  10:   92 04 20 20       add  %l0, 0x20, %o1
Code;  005b6ff4 <qlogicpti_intr_handler+1d4/200>
  14:   7f fe 8e 83       call  fffa3a20 <_PC+0xfffa3a20> 0055aa00
<__memcpy+0/0
>
Code;  005b6ff8 <qlogicpti_intr_handler+1d8/200>
  18:   00 00 00 00       unimp  0

TSTATE: l panic: Aiee, killing interrupt handler!
<4>TSTATE: 0000004480009601 TPC: 00000000004182d0 TNPC: 00000000004182d4 Y:
000d
 g0: 0000000000000000 g1: 0000028000000400 g2: fffff800013d0aa0 g3:
fffff8000148
g4: fffff8005fcce640 g5: 0000000000000001 g6: fffff800014a4000 g7:
00000000006f0
o0: 000000000000000a o1: fffff800014a4008 o2: 00000000006f51a0 o3:
000000007461e
o4: 000000000000006c o5: 0000000000000001 sp: fffff800014a7681 ret_pc:
000000008
l0: 00000000006f40c0 l1: 00000000006fa020 l2: 00000000006f40c0 l3:
0000000000720
l4: 0000000000000001 l5: 0000000000000000 l6: 000000000000000f l7:
fffff800014a0
i0: 0000000000000000 i1: 00000000007110e0 i2: 0000000000000001 i3:
0000000000728
i4: fffff800014a7fd8 i5: 0000000000000001 i6: fffff800014a7741 i7:
000000000042c

>>PC;  004182d0 <cpu_idle+30/c0>   <==>>O7;  00000008 Before first symbol
>>I7;  0000042c Before first symbol

TSTATE: 0000004480009601 TPC: 00000000004182ec TNPC: 00000000004182f0 Y:
000000d
g0: fffff80001617000 g1: 0000000000000028 g2: fffff800013f0aa0 g3:
fffff8005fc98
g4: fffff8005f68a060 g5: 0000000000000005 g6: fffff8005fc9c000 g7:
00000000006f0
o0: 000000000000000a o1: fffff8005fc9c008 o2: fffff8005c4d7d50 o3:
0000000000006
o4: fffff8005c4d7bc0 o5: 0000000000000000 sp: fffff8005fc9f681 ret_pc:
000000008
l0: 00000000006f40c0 l1: 00000000006fa020 l2: 00000000006f40c0 l3:
0000000000720
l4: 0000000000000001 l5: 0000000000000000 l6: 000000000000000f l7:
fffff8005fc90
i0: 0000000000000000 i1: 00000000007110e0 i2: 0000000000000001 i3:
0000000000728
i4: fffff8005fc9ffd8 i5: 0000000000000001 i6: fffff8005fc9f741 i7:
000000000042c

>>PC;  004182ec <cpu_idle+4c/c0>   <==>>O7;  00000008 Before first symbol
>>I7;  0000042c Before first symbol

TSTATE: 0000004480009601 TPC: 00000000004182d0 TNPC: 00000000004182d4 Y:
000000d
g0: 0000000000000000 g1: 0000028000000400 g2: fffff800013e8aa0 g3:
fffff8005fcb8
g4: fffff8005f68b260 g5: 0000000000000004 g6: fffff8005fcb8000 g7:
00000000006f0
o0: 000000000000000a o1: fffff8005fcb8008 o2: 00000000006fa000 o3:
fffff80057d68
o4: fffff8005ef90000 o5: 00000000000003df sp: fffff8005fcbb681 ret_pc:
000000008
l0: 00000000006f40c0 l1: 00000000006fa020 l2: 00000000006f40c0 l3:
0000000000720
l4: 0000000000000001 l5: 0000000000000000 l6: 000000000000000f l7:
fffff8005fcb0
i0: 0000000000000000 i1: 00000000007110e0 i2: 0000000000000001 i3:
0000000000728
i4: fffff8005fcbbfd8 i5: 0000000000000001 i6: fffff8005fcbb741 i7:
000000000042c

>>PC;  004182d0 <cpu_idle+30/c0>   <==>>O7;  00000008 Before first symbol
>>I7;  0000042c Before first symbol


1 warning and 2 errors issued.  Results may not be reliable.

-----Original Message-----
From: sparclinux-owner@vger.kernel.org
[mailto:sparclinux-owner@vger.kernel.org]On Behalf Of David S. Miller
Sent: Friday, January 16, 2004 8:33 PM
To: Chris Ricker
Cc: sparclinux@vger.kernel.org
Subject: Re: qlogicpti on 2.6.1


On Fri, 16 Jan 2004 09:29:41 -0500 (EST)
Chris Ricker <kaboom@gatech.edu> wrote:

> That's been running overnight without problems on 2.6.1-SMP. Thanks much!

Thanks a ton for your report and testing Christ.

I'll push this fix to Linus.

-
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

end of thread, other threads:[~2004-01-17  1:15 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-01-14 22:00 qlogicpti on 2.6.1 Chris Ricker
2004-01-15  9:11 ` David S. Miller
2004-01-15 16:17 ` Chris Ricker
2004-01-15 18:58 ` David S. Miller
2004-01-15 20:35 ` David S. Miller
2004-01-16 14:29 ` Chris Ricker
2004-01-16 19:32 ` David S. Miller
2004-01-17  1:15 ` FW: " John Belshaw

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.