lkml.org 
[lkml]   [2003]   [Aug]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: test3 oops on Compaq 8500R
On Mon, 11 Aug 2003, Marcelo Tosatti wrote:

> EIP is at DAC960_open+0x15/0x80
> eax: 00000000 ebx: 00000000 ecx: f668d004 edx: f6a2c004
> esi: 00000000 edi: f668e6a0 ebp: f6a2c004 esp: cc1fbd1c
> ds: 007b es: 007b ss: 0068
> Process swapper (pid: 1, threadinfo=cc1fa000 task=f7f97000)
> Stack: 00000000 f668d004 c016884c f668d004 cc1fbe08 00000000 00000000
> c195a03c
> 00000246 c195a03c 00000000 f668d004 00000000 cc1fbe08 f668e6a0
> c0168bf9
> f668e6a0 f668d004 cc1fbe08 00000000 00000000 00000000 00000000
> f668d004
> Call Trace:
> [<c016884c>] do_open+0x12c/0x470
> [<c0168bf9>] blkdev_get+0x69/0x80
> [<c0198081>] register_disk+0xa1/0x130
> [<c023b2bf>] blk_register_region+0x2f/0x40
> [<c023b35a>] add_disk+0x3a/0x50
> [<c023b2f0>] exact_match+0x0/0x10
> [<c023b300>] exact_lock+0x0/0x20
> [<c024e004>] DAC960_Probe+0x84/0xa0
> [<c01f14bc>] pci_device_probe_static+0x2c/0x50
> [<c01f1671>] __pci_device_probe+0x21/0x40
> [<c01f16af>] pci_device_probe+0x1f/0x40
> [<c02347f4>] bus_match+0x34/0x60
> [<c02348d4>] driver_attach+0x44/0x60
> [<c0234b41>] bus_add_driver+0x71/0x90
> [<c01f1968>] pci_register_driver+0x88/0xb0
> [<c025407e>] DAC960_init_module+0xe/0x30
> [<c041889b>] do_initcalls+0x3b/0x90
> [<c01050fb>] init+0x7b/0x210
> [<c0105080>] init+0x0/0x210
> [<c0108ba5>] kernel_thread_helper+0x5/0x10
>
> Code: 8b 98 48 01 00 00 80 7b 1c 00 75 12 85 f6 75 0e 8b 44 24 10
> <0>Kernel panic: Attempted to kill init!

NULL disk->queue->queuedata, what does the following (possibly
fundamentally flawed) patch do?

Index: linux-2.6.0-test3-huge_kpage/drivers/block/DAC960.c
===================================================================
RCS file: /build/cvsroot/linux-2.6.0-test3/drivers/block/DAC960.c,v
retrieving revision 1.1.1.1
diff -u -p -B -r1.1.1.1 DAC960.c
--- linux-2.6.0-test3-huge_kpage/drivers/block/DAC960.c 10 Aug 2003 08:42:16 -0000 1.1.1.1
+++ linux-2.6.0-test3-huge_kpage/drivers/block/DAC960.c 11 Aug 2003 19:08:29 -0000
@@ -71,6 +71,9 @@ static int DAC960_open(struct inode *ino
DAC960_Controller_T *p = disk->queue->queuedata;
int drive_nr = (int)disk->private_data;

+ if (!p)
+ return -ENXIO;
+
/* bad hack for the "user" ioctls */
if (!p->ControllerNumber && !drive_nr && (file->f_flags & O_NONBLOCK))
return 0;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-03-22 13:47    [W:1.228 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site