public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Problem with AHA152X driver in 2.4.19
@ 2002-08-03 17:02 Marc Lefranc
  2002-08-03 22:35 ` Alan Cox
  2002-08-04 11:33 ` Juergen E. Fischer
  0 siblings, 2 replies; 4+ messages in thread
From: Marc Lefranc @ 2002-08-03 17:02 UTC (permalink / raw)
  To: linux-kernel


Hi all,

I just built 2.4.19 and checked that the problem that had been
introduced in the aha152x driver between 2.4.19-pre8 and pre10 (bad
initialization due to lost interrupt) had been corrected. However, I
have experienced another problem related to blocking factor.

Using tar without specifying a blocking factor works fine but as soon
as I specify one, tar exits with a segmentation violation immediately
after trying to write to the tape. There is a also a message about a
NULL pointer dereference written to /var/log/messages (see below).

The exact command I used is (taken from a shell script):

tar --create --blocking-factor 96 --file=/dev/st0 --listed-incremental=$JOURNAL --verbose --preserve --one-file-system --atime-preserve $1

The very same script worked flawlessly with 2.4.19-pre8 and before. If
I remove the blocking-factor option, everything is back to normal.

Marc


----------------------------------------------------------------------
Aug  3 17:44:55 socrate kernel: Unable to handle kernel NULL pointer dereference
 at virtual address 0000001b
Aug  3 17:44:55 socrate kernel:  printing eip:
Aug  3 17:44:55 socrate kernel: c68a21d9
Aug  3 17:44:55 socrate kernel: *pde = 00000000
Aug  3 17:44:55 socrate kernel: Oops: 0000
Aug  3 17:44:55 socrate kernel: CPU:    0
Aug  3 17:44:55 socrate kernel: EIP:    0010:[<c68a21d9>]    Not tainted
Aug  3 17:44:55 socrate kernel: EFLAGS: 00010002
Aug  3 17:44:55 socrate kernel: eax: 00000000   ebx: c2575000   ecx: c26e9e30   
edx: c1d9a240
Aug  3 17:44:55 socrate kernel: esi: c251c000   edi: 0000000c   ebp: c251c000   
esp: c2691e4c
Aug  3 17:44:55 socrate kernel: ds: 0018   es: 0018   ss: 0018
Aug  3 17:44:55 socrate kernel: Process tar (pid: 1141, stackpage=c2691000)
Aug  3 17:44:55 socrate kernel: Stack: 00000297 c116fdb4 c2575000 c68a22e3 c2575
000 00000000 00000000 00000000 
Aug  3 17:44:55 socrate kernel:        c687fab0 c687f517 c2575000 c687fab0 00000
000 c2575000 c116fdb4 c25750b8 
Aug  3 17:44:55 socrate kernel:        c116fdb4 c688662f c2575000 c2575000 00000
000 c251c000 c5995c00 c116fd60 
Aug  3 17:44:55 socrate kernel: Call Trace:    [<c68a22e3>] [<c687fab0>] [<c687f
517>] [<c687fab0>] [<c688662f>]
Aug  3 17:44:55 socrate kernel:   [<c6885a5f>] [<c6885ab9>] [<c68984cc>] [<c6898
300>] [<c6899ce6>] [<c0132bc8>]
Aug  3 17:44:55 socrate kernel:   [<c013266f>] [<c01088b3>]
Aug  3 17:44:55 socrate kernel: 
Aug  3 17:44:55 socrate kernel: Code: 0f b6 50 1b 8b 14 95 dc 24 27 c0 2b 82 a0 
00 00 00 69 c0 a3 


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

* Re: Problem with AHA152X driver in 2.4.19
  2002-08-03 17:02 Problem with AHA152X driver in 2.4.19 Marc Lefranc
@ 2002-08-03 22:35 ` Alan Cox
  2002-08-03 23:58   ` Marc Lefranc
  2002-08-04 11:33 ` Juergen E. Fischer
  1 sibling, 1 reply; 4+ messages in thread
From: Alan Cox @ 2002-08-03 22:35 UTC (permalink / raw)
  To: Marc Lefranc; +Cc: linux-kernel

On Sat, 2002-08-03 at 18:02, Marc Lefranc wrote:
>------------------------------------------------
> Aug  3 17:44:55 socrate kernel: Unable to handle kernel NULL pointer dereference
>  at virtual address 0000001b
> Aug  3 17:44:55 socrate kernel:  printing eip:
> Aug  3 17:44:55 socrate kernel: c68a21d9
> Aug  3 17:44:55 socrate kernel: *pde = 00000000
> Aug  3 17:44:55 socrate kernel: Oops: 0000
> Aug  3 17:44:55 socrate kernel: CPU:    0
> Aug  3 17:44:55 socrate kernel: EIP:    0010:[<c68a21d9>]    Not tainted
> Aug  3 17:44:55 socrate kernel: EFLAGS: 00010002
> Aug  3 17:44:55 socrate kernel: eax: 00000000   ebx: c2575000   ecx: c26e9e30   
> edx: c1d9a240

You need to run through the oops through the ksymoops decoder (see
REPORTING-BUGS in the kernel)

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

* Re: Problem with AHA152X driver in 2.4.19
  2002-08-03 22:35 ` Alan Cox
@ 2002-08-03 23:58   ` Marc Lefranc
  0 siblings, 0 replies; 4+ messages in thread
From: Marc Lefranc @ 2002-08-03 23:58 UTC (permalink / raw)
  To: Alan Cox; +Cc: Marc Lefranc, linux-kernel

On 03 Aug 2002 23:35:14 +0100, 
Alan Cox <alan@lxorguk.ukuu.org.uk> wrote :

> You need to run through the oops through the ksymoops decoder (see
> REPORTING-BUGS in the kernel)

Sorry about that. Here is a new one:

Aug  4 01:51:14 socrate kernel: Unable to handle kernel NULL pointer dereference at virtual address 0000001b
Aug  4 01:51:14 socrate kernel: c68a21d9
Aug  4 01:51:14 socrate kernel: *pde = 00000000
Aug  4 01:51:14 socrate kernel: Oops: 0000
Aug  4 01:51:14 socrate kernel: CPU:    0
Aug  4 01:51:14 socrate kernel: EIP:    0010:[<c68a21d9>]    Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
Aug  4 01:51:14 socrate kernel: EFLAGS: 00010006
Aug  4 01:51:14 socrate kernel: eax: 00000000   ebx: c2738000   ecx: c30a5e30   edx: c5c58b20
Aug  4 01:51:14 socrate kernel: esi: c5319000   edi: 0000000c   ebp: c5319000   esp: c29dde30
Aug  4 01:51:14 socrate kernel: ds: 0018   es: 0018   ss: 0018
Aug  4 01:51:14 socrate kernel: Process tar (pid: 1120, stackpage=c29dd000)
Aug  4 01:51:14 socrate kernel: Stack: 00000297 c116feb4 c2738000 c68a22e3 c2738000 00000000 00000000 00000000 
Aug  4 01:51:14 socrate kernel:        c687fab0 c687f517 c2738000 c687fab0 00000000 c2738000 c116feb4 c27380b8 
Aug  4 01:51:14 socrate kernel:        c116feb4 c688662f c2738000 c2738000 00000000 c5319000 c59d3c00 c116fe60 
Aug  4 01:51:14 socrate kernel: Call Trace:    [<c68a22e3>] [<c687fab0>] [<c687f517>] [<c687fab0>] [<c688662f>]
Aug  4 01:51:14 socrate kernel:   [<c6885a5f>] [<c6885ab9>] [<c68984cc>] [<c6898300>] [<c6899e99>] [<c689a4e0>]
Aug  4 01:51:14 socrate kernel:   [<c0132ac8>] [<c01394a5>] [<c01088b3>]
Aug  4 01:51:14 socrate kernel: Code: 0f b6 50 1b 8b 14 95 dc 24 27 c0 2b 82 a0 00 00 00 69 c0 a3 

>>EIP; c68a21d9 <[aha152x]aha152x_internal_queue+f9/1f0>   <=====
Trace; c68a22e3 <[aha152x]aha152x_queue+13/20>
Trace; c687fab0 <[scsi_mod]scsi_done+0/90>
Trace; c687f517 <[scsi_mod]__kstrtab_scsi_deregister_blocked_host+17/27>
Trace; c687fab0 <[scsi_mod]scsi_done+0/90>
Trace; c688662f <[scsi_mod]scsi_request_fn+2bf/300>
Trace; c6885a5f <[scsi_mod]__scsi_insert_special+5f/70>
Trace; c6885ab9 <[scsi_mod]scsi_insert_special_req+19/30>
Trace; c68984cc <[st]st_do_scsi+10c/150>
Trace; c6898300 <[st]st_sleep_done+0/c0>
Trace; c6899e99 <[st]read_tape+119/390>
Trace; c689a4e0 <[st]st_read+3d0/500>
Trace; c0132ac8 <sys_read+98/100>
Trace; c01394a5 <sys_stat64+65/70>
Trace; c01088b3 <system_call+33/40>
Code;  c68a21d9 <[aha152x]aha152x_internal_queue+f9/1f0>
00000000 <_EIP>:
Code;  c68a21d9 <[aha152x]aha152x_internal_queue+f9/1f0>   <=====
   0:   0f b6 50 1b               movzbl 0x1b(%eax),%edx   <=====
Code;  c68a21dd <[aha152x]aha152x_internal_queue+fd/1f0>
   4:   8b 14 95 dc 24 27 c0      mov    0xc02724dc(,%edx,4),%edx
Code;  c68a21e4 <[aha152x]aha152x_internal_queue+104/1f0>
   b:   2b 82 a0 00 00 00         sub    0xa0(%edx),%eax
Code;  c68a21ea <[aha152x]aha152x_internal_queue+10a/1f0>
  11:   69 c0 a3 00 00 00         imul   $0xa3,%eax,%eax


And while we are at it, here is the information from the driver as it
starts

Aug  4 01:51:11 socrate kernel: SCSI subsystem driver Revision: 1.00
Aug  4 01:51:12 socrate kernel: aha152x: BIOS test: passed, detected 1 controller(s)
Aug  4 01:51:12 socrate kernel: aha152x: resetting bus...
Aug  4 01:51:12 socrate kernel: aha152x0: vital data: rev=1, io=0x140 (0x140/0x140), irq=11, scsiid=7, reconnect=enabled, parity=enabled, synchronous=enabled, delay=1000, extended translation=disabled
Aug  4 01:51:12 socrate kernel: aha152x0: trying software interrupt, ok.
Aug  4 01:51:12 socrate kernel: scsi0 : Adaptec 152x SCSI driver; $Revision: 2.5 $
Aug  4 01:51:13 socrate kernel: (scsi0:3:0) Synchronous Data Transfer Request period = 200 ns, offset = 8
Aug  4 01:51:13 socrate kernel:   Vendor: HP        Model: C1533A            Rev: A812
Aug  4 01:51:13 socrate kernel:   Type:   Sequential-Access                  ANSI SCSI revision: 02
Aug  4 01:51:14 socrate kernel: st: Version 20020205, bufsize 32768, wrt 30720, max init. bufs 4, s/g segs 16
Aug  4 01:51:14 socrate kernel: Attached scsi tape st0 at scsi0, channel 0, id 3, lun 0
Aug  4 01:51:14 socrate kernel: st0: Block limits 1 - 16777215 bytes.

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

* Re: Problem with AHA152X driver in 2.4.19
  2002-08-03 17:02 Problem with AHA152X driver in 2.4.19 Marc Lefranc
  2002-08-03 22:35 ` Alan Cox
@ 2002-08-04 11:33 ` Juergen E. Fischer
  1 sibling, 0 replies; 4+ messages in thread
From: Juergen E. Fischer @ 2002-08-04 11:33 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alan Cox, Marcelo Tosatti

Hi Marc,

On Sat, Aug 03, 2002 at 19:02:50 +0200, Marc Lefranc wrote:
> I just built 2.4.19 and checked that the problem that had been
> introduced in the aha152x driver between 2.4.19-pre8 and pre10 (bad
> initialization due to lost interrupt) had been corrected. However, I
> have experienced another problem related to blocking factor.

I posted another patch a while ago. Obviously it didn't make it into
2.4.19.  So this is the same thing against 2.4.19.

It fixes your problem and another one related to longtaking tape
operations.


Juergen


--- orig/linux/drivers/scsi/aha152x.c	2002-08-04 13:26:14.000000000 +0200
+++ linux-2.4/drivers/scsi/aha152x.c	2002-07-19 00:10:35.000000000 +0200
@@ -602,7 +602,11 @@
 #define SCDONE(SCpnt)		SCDATA(SCpnt)->done
 #define SCSEM(SCpnt)		SCDATA(SCpnt)->sem
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+#define SG_ADDRESS(buffer)	((buffer)->address)
+#else
 #define SG_ADDRESS(buffer)	((char *) (page_address((buffer)->page)+(buffer)->offset))
+#endif
 
 /* state handling */
 static void seldi_run(struct Scsi_Host *shpnt);
@@ -2657,7 +2661,7 @@
 		 * STCNT to trigger ENSWRAP interrupt, instead of
 		 * polling for DFIFOFULL
 		 */
-		the_time=jiffies + 10*HZ;
+		the_time=jiffies + 100*HZ;
 		while(TESTLO(DMASTAT, DFIFOFULL|INTSTAT) && time_before(jiffies,the_time))
 			barrier();
 
@@ -2670,7 +2674,7 @@
 		if(TESTHI(DMASTAT, DFIFOFULL)) {
 			fifodata = 128;
 		} else {
-			the_time=jiffies + 10*HZ;
+			the_time=jiffies + 100*HZ;
 			while(TESTLO(SSTAT2, SEMPTY) && time_before(jiffies,the_time))
 				barrier();
 
@@ -2826,7 +2830,7 @@
 			CURRENT_SC->SCp.this_residual = CURRENT_SC->SCp.buffer->length;
 		}
 
-		the_time=jiffies + 10*HZ;
+		the_time=jiffies + 100*HZ;
 		while(TESTLO(DMASTAT, DFIFOEMP|INTSTAT) && time_before(jiffies,the_time))
 			barrier();
 

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

end of thread, other threads:[~2002-08-04 11:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-08-03 17:02 Problem with AHA152X driver in 2.4.19 Marc Lefranc
2002-08-03 22:35 ` Alan Cox
2002-08-03 23:58   ` Marc Lefranc
2002-08-04 11:33 ` Juergen E. Fischer

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