Re: Oops in pata_pdc2027x

2006-12-11 Thread Tejun Heo
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

2006-12-11 Thread Tejun Heo
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

2006-12-09 Thread Benjamin Herrenschmidt
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

2006-12-09 Thread Benjamin Herrenschmidt
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

2006-12-06 Thread Stephen Rothwell
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

2006-12-06 Thread Albert Lee
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

2006-12-06 Thread Albert Lee
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

2006-12-06 Thread Stephen Rothwell
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

2006-12-05 Thread Stephen Rothwell
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

2006-12-05 Thread Albert Lee
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

2006-12-05 Thread Albert Lee
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

2006-12-05 Thread Stephen Rothwell
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

2006-12-04 Thread Stephen Rothwell
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

2006-12-04 Thread Stephen Rothwell
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