Re: Oops in pata_pdc2027x
Benjamin Herrenschmidt wrote: > Could that be related to the fix > > [PATCH] libata: fix oops with sparsemem > > That Arnd Bergmann just posted ? I'm copying it below in case you > haven't seen it. Seems to be the same problem to me. I'll reply in the original thread. Thanks. -- tejun - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Oops in pata_pdc2027x
Benjamin Herrenschmidt wrote: Could that be related to the fix [PATCH] libata: fix oops with sparsemem That Arnd Bergmann just posted ? I'm copying it below in case you haven't seen it. Seems to be the same problem to me. I'll reply in the original thread. Thanks. -- tejun - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Oops in pata_pdc2027x
Could that be related to the fix [PATCH] libata: fix oops with sparsemem That Arnd Bergmann just posted ? I'm copying it below in case you haven't seen it. From: Arnd Bergmann <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] Cc: linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org, [EMAIL PROTECTED] Subject: [PATCH] libata: fix oops with sparsemem Date: Fri, 8 Dec 2006 19:14:40 +0100 (Sat, 05:14 EST) libata incorrectly passes NULL arguments to sg_set_buf, which crashes on powerpc64 when looking for the corresponding mem_section. This introduces a new ata_exec_nodma() wrapper that takes no buffer arguments and does not call sg_set_buf either. In order to make it easier to detect this sort of problem, it also adds a WARN_ON(!buf) to sg_set_buf() so we get a log message even platforms without sparsemem. Signed-off-by: Arnd Bergmann <[EMAIL PROTECTED]> Index: linux-2.6/drivers/ata/libata-core.c === --- linux-2.6.orig/drivers/ata/libata-core.c +++ linux-2.6/drivers/ata/libata-core.c @@ -1332,7 +1332,7 @@ unsigned ata_exec_internal_sg(struct ata } /** - * ata_exec_internal_sg - execute libata internal command + * ata_exec_internal - execute libata internal command * @dev: Device to which the command is sent * @tf: Taskfile registers for the command and the result * @cdb: CDB for packet command @@ -1361,6 +1361,25 @@ unsigned ata_exec_internal(struct ata_de } /** + * ata_exec_nodma - execute libata internal command + * @dev: Device to which the command is sent + * @tf: Taskfile registers for the command and the result + * + * Wrapper around ata_exec_internal_sg() which takes no + * data buffer. + * + * LOCKING: + * None. Should be called with kernel context, might sleep. + * + * RETURNS: + * Zero on success, AC_ERR_* mask on failure + */ +static unsigned ata_exec_nodma(struct ata_device *dev, struct ata_taskfile *tf) +{ + return ata_exec_internal_sg(dev, tf, NULL, DMA_NONE, NULL, 0); +} + +/** * ata_do_simple_cmd - execute simple internal command * @dev: Device to which the command is sent * @cmd: Opcode to execute @@ -1384,7 +1403,7 @@ unsigned int ata_do_simple_cmd(struct at tf.flags |= ATA_TFLAG_DEVICE; tf.protocol = ATA_PROT_NODATA; - return ata_exec_internal(dev, , NULL, DMA_NONE, NULL, 0); + return ata_exec_nodma(dev, ); } /** @@ -3475,7 +3494,7 @@ static unsigned int ata_dev_set_xfermode tf.protocol = ATA_PROT_NODATA; tf.nsect = dev->xfer_mode; - err_mask = ata_exec_internal(dev, , NULL, DMA_NONE, NULL, 0); + err_mask = ata_exec_nodma(dev, ); DPRINTK("EXIT, err_mask=%x\n", err_mask); return err_mask; @@ -3513,7 +3532,7 @@ static unsigned int ata_dev_init_params( tf.nsect = sectors; tf.device |= (heads - 1) & 0x0f; /* max head = num. of heads - 1 */ - err_mask = ata_exec_internal(dev, , NULL, DMA_NONE, NULL, 0); + err_mask = ata_exec_nodma(dev, ); DPRINTK("EXIT, err_mask=%x\n", err_mask); return err_mask; Index: linux-2.6/include/linux/scatterlist.h === --- linux-2.6.orig/include/linux/scatterlist.h +++ linux-2.6/include/linux/scatterlist.h @@ -8,6 +8,8 @@ static inline void sg_set_buf(struct scatterlist *sg, const void *buf, unsigned int buflen) { + WARN_ON(!buf); /* virt_to_page(NULL) crashes with sparsemem */ + sg->page = virt_to_page(buf); sg->offset = offset_in_page(buf); sg->length = buflen; ___ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Oops in pata_pdc2027x
Could that be related to the fix [PATCH] libata: fix oops with sparsemem That Arnd Bergmann just posted ? I'm copying it below in case you haven't seen it. From: Arnd Bergmann [EMAIL PROTECTED] To: [EMAIL PROTECTED] Cc: linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org, [EMAIL PROTECTED] Subject: [PATCH] libata: fix oops with sparsemem Date: Fri, 8 Dec 2006 19:14:40 +0100 (Sat, 05:14 EST) libata incorrectly passes NULL arguments to sg_set_buf, which crashes on powerpc64 when looking for the corresponding mem_section. This introduces a new ata_exec_nodma() wrapper that takes no buffer arguments and does not call sg_set_buf either. In order to make it easier to detect this sort of problem, it also adds a WARN_ON(!buf) to sg_set_buf() so we get a log message even platforms without sparsemem. Signed-off-by: Arnd Bergmann [EMAIL PROTECTED] Index: linux-2.6/drivers/ata/libata-core.c === --- linux-2.6.orig/drivers/ata/libata-core.c +++ linux-2.6/drivers/ata/libata-core.c @@ -1332,7 +1332,7 @@ unsigned ata_exec_internal_sg(struct ata } /** - * ata_exec_internal_sg - execute libata internal command + * ata_exec_internal - execute libata internal command * @dev: Device to which the command is sent * @tf: Taskfile registers for the command and the result * @cdb: CDB for packet command @@ -1361,6 +1361,25 @@ unsigned ata_exec_internal(struct ata_de } /** + * ata_exec_nodma - execute libata internal command + * @dev: Device to which the command is sent + * @tf: Taskfile registers for the command and the result + * + * Wrapper around ata_exec_internal_sg() which takes no + * data buffer. + * + * LOCKING: + * None. Should be called with kernel context, might sleep. + * + * RETURNS: + * Zero on success, AC_ERR_* mask on failure + */ +static unsigned ata_exec_nodma(struct ata_device *dev, struct ata_taskfile *tf) +{ + return ata_exec_internal_sg(dev, tf, NULL, DMA_NONE, NULL, 0); +} + +/** * ata_do_simple_cmd - execute simple internal command * @dev: Device to which the command is sent * @cmd: Opcode to execute @@ -1384,7 +1403,7 @@ unsigned int ata_do_simple_cmd(struct at tf.flags |= ATA_TFLAG_DEVICE; tf.protocol = ATA_PROT_NODATA; - return ata_exec_internal(dev, tf, NULL, DMA_NONE, NULL, 0); + return ata_exec_nodma(dev, tf); } /** @@ -3475,7 +3494,7 @@ static unsigned int ata_dev_set_xfermode tf.protocol = ATA_PROT_NODATA; tf.nsect = dev-xfer_mode; - err_mask = ata_exec_internal(dev, tf, NULL, DMA_NONE, NULL, 0); + err_mask = ata_exec_nodma(dev, tf); DPRINTK(EXIT, err_mask=%x\n, err_mask); return err_mask; @@ -3513,7 +3532,7 @@ static unsigned int ata_dev_init_params( tf.nsect = sectors; tf.device |= (heads - 1) 0x0f; /* max head = num. of heads - 1 */ - err_mask = ata_exec_internal(dev, tf, NULL, DMA_NONE, NULL, 0); + err_mask = ata_exec_nodma(dev, tf); DPRINTK(EXIT, err_mask=%x\n, err_mask); return err_mask; Index: linux-2.6/include/linux/scatterlist.h === --- linux-2.6.orig/include/linux/scatterlist.h +++ linux-2.6/include/linux/scatterlist.h @@ -8,6 +8,8 @@ static inline void sg_set_buf(struct scatterlist *sg, const void *buf, unsigned int buflen) { + WARN_ON(!buf); /* virt_to_page(NULL) crashes with sparsemem */ + sg-page = virt_to_page(buf); sg-offset = offset_in_page(buf); sg-length = buflen; ___ - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Oops in pata_pdc2027x
On Thu, 07 Dec 2006 11:56:32 +0800 Albert Lee <[EMAIL PROTECTED]> wrote: > > It seems the opps occurred in the ata_exec_internal(). Could you please > try the attached patch and see if the older ata_exec_internal() works? > This can help to narrow it down. This worked much better: Waiting for /dev to be fully populated...pata_pdc2027x 0001:cc:01.0: PLL input clock 32721 kHz ata1: PATA max UDMA/133 cmd 0xD800801457C0 ctl 0xD80080145FDA bmdma 0xD80080145000 irq 324 ata2: PATA max UDMA/133 cmd 0xD800801455C0 ctl 0xD80080145DDA bmdma 0xD80080145008 irq 324 scsi1 : pata_pdc2027x ata1.00: ATAPI, max UDMA/66 ata1.00: configured for UDMA/66 scsi2 : pata_pdc2027x ATA: abnormal status 0x8 on port 0xD800801455DF scsi 1:0:0:0: CD-ROMIBM DROM00205L1 H0 P533 PQ: 0 ANSI: 2 sr0: scsi3-mmc drive: 24x/24x cd/rw xa/form2 cdda tray Uniform CD-ROM driver Revision: 3.20 sr 1:0:0:0: Attached scsi generic sg4 type 5 done. -- Cheers, Stephen Rothwell[EMAIL PROTECTED] http://www.canb.auug.org.au/~sfr/ pgpkYlxmPpTXF.pgp Description: PGP signature
Re: Oops in pata_pdc2027x
Stephen Rothwell wrote: > Hi all, > > I get an oops during initialisation of the pata_pdc2027x module on a > POWER 285 machine. This is on a very recent Linus kernel tree > (ff51a98799931256b555446b2f5675db08de6229) with Paulus' powerpc tree > (that has now been merged). The oops looks like this: > > > Synthesizing the initial hotplug events...done. > Waiting for /dev to be fully populated...pata_pdc2027x 0001:cc:01.0: PLL > input clock 32721 kHz > ata1: PATA max UDMA/133 cmd 0xD800801457C0 ctl 0xD80080145FDA bmdma > 0xD80080145000 irq 324 > ata2: PATA max UDMA/133 cmd 0xD800801455C0 ctl 0xD80080145DDA bmdma > 0xD80080145008 irq 324 > scsi1 : pata_pdc2027x > ata1.00: ATAPI, max UDMA/66 > Unable to handle kernel paging request for data at address 0xc001007e8d80 > Faulting instruction address: 0xd007b660 > Oops: Kernel access of bad area, sig: 11 [#1] > SMP NR_CPUS=128 NUMA > Modules linked in: pata_pdc2027x dm_mirror dm_snapshot ipr libata > NIP: D007B660 LR: D007B628 CTR: > REGS: c000f4e3b5a0 TRAP: 0300 Not tainted (2.6.19comb) > MSR: 80009032 CR: 2480 XER: 2009 > DAR: C001007E8D80, DSISR: 4001 > TASK = c7001040[3393] 'scsi_eh_1' THREAD: c000f4e38000 CPU: 2 > GPR00: 0001 C000F4E3B820 D00A95C0 CFA946E8 > GPR04: C000F4E3B960 0003 C000F4E3B890 > GPR08: 0001 C07E8D80 D80080145110 C0033A34 > GPR12: C056FF80 C04751C8 > GPR16: 41C0 C0473B90 0035D800 > GPR20: 0213AF30 C053AF30 C000F4E3BB10 0001 > GPR24: 0002 C000F4E3B960 CFA946E8 > GPR28: 0003 4000 D00A7980 > NIP [D007B660] .ata_exec_internal+0x8c/0xf8 [libata] > LR [D007B628] .ata_exec_internal+0x54/0xf8 [libata] > Call Trace: > [C000F4E3B820] [D00A7980] .ipr_store_update_fw+0x100/0x6f0 [ipr] > (unreliable) > [C000F4E3B8F0] [D007C15C] .ata_set_mode+0x4dc/0x6d0 [libata] > [C000F4E3B9D0] [D00860E0] .ata_do_eh+0x1538/0x1930 [libata] > [C000F4E3BC20] [D0083774] .ata_bmdma_drive_eh+0x1f8/0x2e8 [libata] > [C000F4E3BCD0] [D00C17B4] .pdc2027x_error_handler+0x28/0x40 > [pata_pdc2027x] > [C000F4E3BD50] [D0086DC0] .ata_scsi_error+0x32c/0x660 [libata] > [C000F4E3BE00] [C0312F7C] .scsi_error_handler+0xc8/0x80c > [C000F4E3BEE0] [C006A0F4] .kthread+0x124/0x174 > [C000F4E3BF90] [C0024D68] .kernel_thread+0x4c/0x68 > Instruction dump: > 57ac053e e93e8020 7f63db78 7f44d378 780007c6 7f25cb78 7f86e378 38e10070 > 7fbd0214 3901 7ba0f860 78001f24 <7d69002a> 7ba0a302 7bbd4602 3920 > done. > > > (The reference to ipr_store_update_fw is certainly not real) > > The config, lspci and full boot dmesg output are available at > http://ozlabs.org/~sfr/{config,lspci,dmesg} > > This machine has a only cdrom drive attached to the pdc controller. > It seems the opps occurred in the ata_exec_internal(). Could you please try the attached patch and see if the older ata_exec_internal() works? This can help to narrow it down. -- albert --- pdc2027x_ozlab/drivers/ata/libata-core.c2006-12-06 15:01:13.0 +0800 +++ exec_internal/drivers/ata/libata-core.c 2006-12-07 11:49:08.0 +0800 @@ -1334,7 +1334,7 @@ unsigned ata_exec_internal_sg(struct ata } /** - * ata_exec_internal_sg - execute libata internal command + * ata_exec_internal - execute libata internal command * @dev: Device to which the command is sent * @tf: Taskfile registers for the command and the result * @cdb: CDB for packet command @@ -1342,8 +1342,11 @@ unsigned ata_exec_internal_sg(struct ata * @buf: Data buffer of the command * @buflen: Length of data buffer * - * Wrapper around ata_exec_internal_sg() which takes simple - * buffer instead of sg list. + * Executes libata internal command with timeout. @tf contains + * command on entry and result on return. Timeout and error + * conditions are reported via return value. No recovery action + * is taken after a command times out. It's caller's duty to + * clean up after timeout. * * LOCKING: * None. Should be called with kernel context, might sleep. @@ -1355,11 +1358,141 @@ unsigned ata_exec_internal(struct ata_de struct ata_taskfile *tf, const u8 *cdb, int dma_dir, void *buf, unsigned int buflen) { - struct scatterlist sg; + struct ata_port *ap = dev->ap; + u8 command = tf->command;
Re: Oops in pata_pdc2027x
Stephen Rothwell wrote: Hi all, I get an oops during initialisation of the pata_pdc2027x module on a POWER 285 machine. This is on a very recent Linus kernel tree (ff51a98799931256b555446b2f5675db08de6229) with Paulus' powerpc tree (that has now been merged). The oops looks like this: Synthesizing the initial hotplug events...done. Waiting for /dev to be fully populated...pata_pdc2027x 0001:cc:01.0: PLL input clock 32721 kHz ata1: PATA max UDMA/133 cmd 0xD800801457C0 ctl 0xD80080145FDA bmdma 0xD80080145000 irq 324 ata2: PATA max UDMA/133 cmd 0xD800801455C0 ctl 0xD80080145DDA bmdma 0xD80080145008 irq 324 scsi1 : pata_pdc2027x ata1.00: ATAPI, max UDMA/66 Unable to handle kernel paging request for data at address 0xc001007e8d80 Faulting instruction address: 0xd007b660 Oops: Kernel access of bad area, sig: 11 [#1] SMP NR_CPUS=128 NUMA Modules linked in: pata_pdc2027x dm_mirror dm_snapshot ipr libata NIP: D007B660 LR: D007B628 CTR: REGS: c000f4e3b5a0 TRAP: 0300 Not tainted (2.6.19comb) MSR: 80009032 EE,ME,IR,DR CR: 2480 XER: 2009 DAR: C001007E8D80, DSISR: 4001 TASK = c7001040[3393] 'scsi_eh_1' THREAD: c000f4e38000 CPU: 2 GPR00: 0001 C000F4E3B820 D00A95C0 CFA946E8 GPR04: C000F4E3B960 0003 C000F4E3B890 GPR08: 0001 C07E8D80 D80080145110 C0033A34 GPR12: C056FF80 C04751C8 GPR16: 41C0 C0473B90 0035D800 GPR20: 0213AF30 C053AF30 C000F4E3BB10 0001 GPR24: 0002 C000F4E3B960 CFA946E8 GPR28: 0003 4000 D00A7980 NIP [D007B660] .ata_exec_internal+0x8c/0xf8 [libata] LR [D007B628] .ata_exec_internal+0x54/0xf8 [libata] Call Trace: [C000F4E3B820] [D00A7980] .ipr_store_update_fw+0x100/0x6f0 [ipr] (unreliable) [C000F4E3B8F0] [D007C15C] .ata_set_mode+0x4dc/0x6d0 [libata] [C000F4E3B9D0] [D00860E0] .ata_do_eh+0x1538/0x1930 [libata] [C000F4E3BC20] [D0083774] .ata_bmdma_drive_eh+0x1f8/0x2e8 [libata] [C000F4E3BCD0] [D00C17B4] .pdc2027x_error_handler+0x28/0x40 [pata_pdc2027x] [C000F4E3BD50] [D0086DC0] .ata_scsi_error+0x32c/0x660 [libata] [C000F4E3BE00] [C0312F7C] .scsi_error_handler+0xc8/0x80c [C000F4E3BEE0] [C006A0F4] .kthread+0x124/0x174 [C000F4E3BF90] [C0024D68] .kernel_thread+0x4c/0x68 Instruction dump: 57ac053e e93e8020 7f63db78 7f44d378 780007c6 7f25cb78 7f86e378 38e10070 7fbd0214 3901 7ba0f860 78001f24 7d69002a 7ba0a302 7bbd4602 3920 done. (The reference to ipr_store_update_fw is certainly not real) The config, lspci and full boot dmesg output are available at http://ozlabs.org/~sfr/{config,lspci,dmesg} This machine has a only cdrom drive attached to the pdc controller. It seems the opps occurred in the ata_exec_internal(). Could you please try the attached patch and see if the older ata_exec_internal() works? This can help to narrow it down. -- albert --- pdc2027x_ozlab/drivers/ata/libata-core.c2006-12-06 15:01:13.0 +0800 +++ exec_internal/drivers/ata/libata-core.c 2006-12-07 11:49:08.0 +0800 @@ -1334,7 +1334,7 @@ unsigned ata_exec_internal_sg(struct ata } /** - * ata_exec_internal_sg - execute libata internal command + * ata_exec_internal - execute libata internal command * @dev: Device to which the command is sent * @tf: Taskfile registers for the command and the result * @cdb: CDB for packet command @@ -1342,8 +1342,11 @@ unsigned ata_exec_internal_sg(struct ata * @buf: Data buffer of the command * @buflen: Length of data buffer * - * Wrapper around ata_exec_internal_sg() which takes simple - * buffer instead of sg list. + * Executes libata internal command with timeout. @tf contains + * command on entry and result on return. Timeout and error + * conditions are reported via return value. No recovery action + * is taken after a command times out. It's caller's duty to + * clean up after timeout. * * LOCKING: * None. Should be called with kernel context, might sleep. @@ -1355,11 +1358,141 @@ unsigned ata_exec_internal(struct ata_de struct ata_taskfile *tf, const u8 *cdb, int dma_dir, void *buf, unsigned int buflen) { - struct scatterlist sg; + struct ata_port *ap = dev-ap; + u8 command = tf-command; + struct ata_queued_cmd *qc; + unsigned int
Re: Oops in pata_pdc2027x
On Thu, 07 Dec 2006 11:56:32 +0800 Albert Lee [EMAIL PROTECTED] wrote: It seems the opps occurred in the ata_exec_internal(). Could you please try the attached patch and see if the older ata_exec_internal() works? This can help to narrow it down. This worked much better: Waiting for /dev to be fully populated...pata_pdc2027x 0001:cc:01.0: PLL input clock 32721 kHz ata1: PATA max UDMA/133 cmd 0xD800801457C0 ctl 0xD80080145FDA bmdma 0xD80080145000 irq 324 ata2: PATA max UDMA/133 cmd 0xD800801455C0 ctl 0xD80080145DDA bmdma 0xD80080145008 irq 324 scsi1 : pata_pdc2027x ata1.00: ATAPI, max UDMA/66 ata1.00: configured for UDMA/66 scsi2 : pata_pdc2027x ATA: abnormal status 0x8 on port 0xD800801455DF scsi 1:0:0:0: CD-ROMIBM DROM00205L1 H0 P533 PQ: 0 ANSI: 2 sr0: scsi3-mmc drive: 24x/24x cd/rw xa/form2 cdda tray Uniform CD-ROM driver Revision: 3.20 sr 1:0:0:0: Attached scsi generic sg4 type 5 done. -- Cheers, Stephen Rothwell[EMAIL PROTECTED] http://www.canb.auug.org.au/~sfr/ pgpkYlxmPpTXF.pgp Description: PGP signature
Re: Oops in pata_pdc2027x
On Wed, 06 Dec 2006 14:10:15 +0800 Albert Lee <[EMAIL PROTECTED]> wrote: > > Where could I download the patched kernel source? There are two > POWER5 9110-51A boxes here. Maybe I could try to reproduce the problem > on these boxes. You can just use Linus' current tree - it exhibits the same problem (and the powerpc tree has been merged into it). -- Cheers, Stephen Rothwell[EMAIL PROTECTED] http://www.canb.auug.org.au/~sfr/ pgpDAy1nVgwn5.pgp Description: PGP signature
Re: Oops in pata_pdc2027x
Stephen Rothwell wrote: > Hi all, > > I get an oops during initialisation of the pata_pdc2027x module on a > POWER 285 machine. This is on a very recent Linus kernel tree > (ff51a98799931256b555446b2f5675db08de6229) with Paulus' powerpc tree > (that has now been merged). The oops looks like this: > Hi Stephen, Where could I download the patched kernel source? There are two POWER5 9110-51A boxes here. Maybe I could try to reproduce the problem on these boxes. -- albert - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Oops in pata_pdc2027x
Stephen Rothwell wrote: Hi all, I get an oops during initialisation of the pata_pdc2027x module on a POWER 285 machine. This is on a very recent Linus kernel tree (ff51a98799931256b555446b2f5675db08de6229) with Paulus' powerpc tree (that has now been merged). The oops looks like this: Hi Stephen, Where could I download the patched kernel source? There are two POWER5 9110-51A boxes here. Maybe I could try to reproduce the problem on these boxes. -- albert - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Oops in pata_pdc2027x
On Wed, 06 Dec 2006 14:10:15 +0800 Albert Lee [EMAIL PROTECTED] wrote: Where could I download the patched kernel source? There are two POWER5 9110-51A boxes here. Maybe I could try to reproduce the problem on these boxes. You can just use Linus' current tree - it exhibits the same problem (and the powerpc tree has been merged into it). -- Cheers, Stephen Rothwell[EMAIL PROTECTED] http://www.canb.auug.org.au/~sfr/ pgpDAy1nVgwn5.pgp Description: PGP signature
Oops in pata_pdc2027x
Hi all, I get an oops during initialisation of the pata_pdc2027x module on a POWER 285 machine. This is on a very recent Linus kernel tree (ff51a98799931256b555446b2f5675db08de6229) with Paulus' powerpc tree (that has now been merged). The oops looks like this: Synthesizing the initial hotplug events...done. Waiting for /dev to be fully populated...pata_pdc2027x 0001:cc:01.0: PLL input clock 32721 kHz ata1: PATA max UDMA/133 cmd 0xD800801457C0 ctl 0xD80080145FDA bmdma 0xD80080145000 irq 324 ata2: PATA max UDMA/133 cmd 0xD800801455C0 ctl 0xD80080145DDA bmdma 0xD80080145008 irq 324 scsi1 : pata_pdc2027x ata1.00: ATAPI, max UDMA/66 Unable to handle kernel paging request for data at address 0xc001007e8d80 Faulting instruction address: 0xd007b660 Oops: Kernel access of bad area, sig: 11 [#1] SMP NR_CPUS=128 NUMA Modules linked in: pata_pdc2027x dm_mirror dm_snapshot ipr libata NIP: D007B660 LR: D007B628 CTR: REGS: c000f4e3b5a0 TRAP: 0300 Not tainted (2.6.19comb) MSR: 80009032 CR: 2480 XER: 2009 DAR: C001007E8D80, DSISR: 4001 TASK = c7001040[3393] 'scsi_eh_1' THREAD: c000f4e38000 CPU: 2 GPR00: 0001 C000F4E3B820 D00A95C0 CFA946E8 GPR04: C000F4E3B960 0003 C000F4E3B890 GPR08: 0001 C07E8D80 D80080145110 C0033A34 GPR12: C056FF80 C04751C8 GPR16: 41C0 C0473B90 0035D800 GPR20: 0213AF30 C053AF30 C000F4E3BB10 0001 GPR24: 0002 C000F4E3B960 CFA946E8 GPR28: 0003 4000 D00A7980 NIP [D007B660] .ata_exec_internal+0x8c/0xf8 [libata] LR [D007B628] .ata_exec_internal+0x54/0xf8 [libata] Call Trace: [C000F4E3B820] [D00A7980] .ipr_store_update_fw+0x100/0x6f0 [ipr] (unreliable) [C000F4E3B8F0] [D007C15C] .ata_set_mode+0x4dc/0x6d0 [libata] [C000F4E3B9D0] [D00860E0] .ata_do_eh+0x1538/0x1930 [libata] [C000F4E3BC20] [D0083774] .ata_bmdma_drive_eh+0x1f8/0x2e8 [libata] [C000F4E3BCD0] [D00C17B4] .pdc2027x_error_handler+0x28/0x40 [pata_pdc2027x] [C000F4E3BD50] [D0086DC0] .ata_scsi_error+0x32c/0x660 [libata] [C000F4E3BE00] [C0312F7C] .scsi_error_handler+0xc8/0x80c [C000F4E3BEE0] [C006A0F4] .kthread+0x124/0x174 [C000F4E3BF90] [C0024D68] .kernel_thread+0x4c/0x68 Instruction dump: 57ac053e e93e8020 7f63db78 7f44d378 780007c6 7f25cb78 7f86e378 38e10070 7fbd0214 3901 7ba0f860 78001f24 <7d69002a> 7ba0a302 7bbd4602 3920 done. (The reference to ipr_store_update_fw is certainly not real) The config, lspci and full boot dmesg output are available at http://ozlabs.org/~sfr/{config,lspci,dmesg} This machine has a only cdrom drive attached to the pdc controller. -- Cheers, Stephen Rothwell[EMAIL PROTECTED] http://www.canb.auug.org.au/~sfr/ pgpimsSAJWOgN.pgp Description: PGP signature
Oops in pata_pdc2027x
Hi all, I get an oops during initialisation of the pata_pdc2027x module on a POWER 285 machine. This is on a very recent Linus kernel tree (ff51a98799931256b555446b2f5675db08de6229) with Paulus' powerpc tree (that has now been merged). The oops looks like this: Synthesizing the initial hotplug events...done. Waiting for /dev to be fully populated...pata_pdc2027x 0001:cc:01.0: PLL input clock 32721 kHz ata1: PATA max UDMA/133 cmd 0xD800801457C0 ctl 0xD80080145FDA bmdma 0xD80080145000 irq 324 ata2: PATA max UDMA/133 cmd 0xD800801455C0 ctl 0xD80080145DDA bmdma 0xD80080145008 irq 324 scsi1 : pata_pdc2027x ata1.00: ATAPI, max UDMA/66 Unable to handle kernel paging request for data at address 0xc001007e8d80 Faulting instruction address: 0xd007b660 Oops: Kernel access of bad area, sig: 11 [#1] SMP NR_CPUS=128 NUMA Modules linked in: pata_pdc2027x dm_mirror dm_snapshot ipr libata NIP: D007B660 LR: D007B628 CTR: REGS: c000f4e3b5a0 TRAP: 0300 Not tainted (2.6.19comb) MSR: 80009032 EE,ME,IR,DR CR: 2480 XER: 2009 DAR: C001007E8D80, DSISR: 4001 TASK = c7001040[3393] 'scsi_eh_1' THREAD: c000f4e38000 CPU: 2 GPR00: 0001 C000F4E3B820 D00A95C0 CFA946E8 GPR04: C000F4E3B960 0003 C000F4E3B890 GPR08: 0001 C07E8D80 D80080145110 C0033A34 GPR12: C056FF80 C04751C8 GPR16: 41C0 C0473B90 0035D800 GPR20: 0213AF30 C053AF30 C000F4E3BB10 0001 GPR24: 0002 C000F4E3B960 CFA946E8 GPR28: 0003 4000 D00A7980 NIP [D007B660] .ata_exec_internal+0x8c/0xf8 [libata] LR [D007B628] .ata_exec_internal+0x54/0xf8 [libata] Call Trace: [C000F4E3B820] [D00A7980] .ipr_store_update_fw+0x100/0x6f0 [ipr] (unreliable) [C000F4E3B8F0] [D007C15C] .ata_set_mode+0x4dc/0x6d0 [libata] [C000F4E3B9D0] [D00860E0] .ata_do_eh+0x1538/0x1930 [libata] [C000F4E3BC20] [D0083774] .ata_bmdma_drive_eh+0x1f8/0x2e8 [libata] [C000F4E3BCD0] [D00C17B4] .pdc2027x_error_handler+0x28/0x40 [pata_pdc2027x] [C000F4E3BD50] [D0086DC0] .ata_scsi_error+0x32c/0x660 [libata] [C000F4E3BE00] [C0312F7C] .scsi_error_handler+0xc8/0x80c [C000F4E3BEE0] [C006A0F4] .kthread+0x124/0x174 [C000F4E3BF90] [C0024D68] .kernel_thread+0x4c/0x68 Instruction dump: 57ac053e e93e8020 7f63db78 7f44d378 780007c6 7f25cb78 7f86e378 38e10070 7fbd0214 3901 7ba0f860 78001f24 7d69002a 7ba0a302 7bbd4602 3920 done. (The reference to ipr_store_update_fw is certainly not real) The config, lspci and full boot dmesg output are available at http://ozlabs.org/~sfr/{config,lspci,dmesg} This machine has a only cdrom drive attached to the pdc controller. -- Cheers, Stephen Rothwell[EMAIL PROTECTED] http://www.canb.auug.org.au/~sfr/ pgpimsSAJWOgN.pgp Description: PGP signature