public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* RocketPoint 1520 [hpt366] fails clock stabilization
@ 2005-09-29 10:33 Loren M. Lang
  2005-09-29 23:30 ` Alan Cox
  0 siblings, 1 reply; 5+ messages in thread
From: Loren M. Lang @ 2005-09-29 10:33 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2064 bytes --]

Please CC me as I'm not on the list.

I just purchased a HighPoint Rocket 1520 SATA controller.  There seems
to be no libata driver (yet), but there is an ide driver, hpt366.  When
the driver gets loaded, it causes a kernel NULL pointer dereference in
pci_bus_clock_list.  It seems to be because the driver is waiting for
clock stabilization in init_hpt37x() which never comes.  The driver just
continues on with the pci drvdata set to NULL, instead of a valid clock
entry.  The following patch prevents the NULL dereference from
happening, but instead exit with an error.

--- drivers/ide/pci/hpt366.c.orig       2005-09-29 01:00:12.000000000
+++ drivers/ide/pci/hpt366.c    2005-09-29 01:00:17.000000000 -0700
-0700
@@ -1310,10 +1310,6 @@
                                goto init_hpt37X_done;
                        }
                }
+               if (!pci_get_drvdata(dev)) {
+                       printk("No Clock Stabilization!!!\n");
+                       return -1;
+               }
 pll_recal:
                if (adjust & 1)
                        pll -= (adjust >> 1);

I am using Gentoo linux with a gentoo patched kernel 2.6.12-r10.  The
dmesg of the driver attempting to attach is:

HPT372A: IDE controller at PCI slot 0000:02:0c.0
PCI: Enabling device 0000:02:0c.0 (0105 -> 0107)
ACPI: PCI Interrupt 0000:02:0c.0[A] -> GSI 20 (level, low) -> IRQ 20
HPT372A: chipset revision 2
hpt: HPT372N detected, using 372N timing.
FREQ: 125 PLL: 45
No Clock Stabilization!!!
HPT366_IDE: probe of 0000:02:0c.0 failed with error -1

I have seen a post from last year of someone with a similar problem.

http://readlist.com/lists/vger.kernel.org/linux-kernel/10/50990.html

Seems to be the same oops I was seeing.

-- 
I sense much NT in you.
NT leads to Bluescreen.
Bluescreen leads to downtime.
Downtime leads to suffering.
NT is the path to the darkside.
Powerful Unix is.

Public Key: ftp://ftp.tallye.com/pub/lorenl_pubkey.asc
Fingerprint: CEE1 AAE2 F66C 59B5 34CA  C415 6D35 E847 0118 A3D2
 

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: RocketPoint 1520 [hpt366] fails clock stabilization
  2005-09-29 10:33 RocketPoint 1520 [hpt366] fails clock stabilization Loren M. Lang
@ 2005-09-29 23:30 ` Alan Cox
  2005-09-30  9:33   ` Loren M. Lang
  0 siblings, 1 reply; 5+ messages in thread
From: Alan Cox @ 2005-09-29 23:30 UTC (permalink / raw)
  To: Loren M. Lang; +Cc: linux-kernel

On Iau, 2005-09-29 at 03:33 -0700, Loren M. Lang wrote:
> Please CC me as I'm not on the list.
> 
> I just purchased a HighPoint Rocket 1520 SATA controller.  There seems
> to be no libata driver (yet), but there is an ide driver, hpt366.  When

Is this 302 or 302N based (what does lspci -vxx say about it ?)




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

* Re: RocketPoint 1520 [hpt366] fails clock stabilization
  2005-09-29 23:30 ` Alan Cox
@ 2005-09-30  9:33   ` Loren M. Lang
  2005-09-30 11:34     ` Alan Cox
  0 siblings, 1 reply; 5+ messages in thread
From: Loren M. Lang @ 2005-09-30  9:33 UTC (permalink / raw)
  To: Alan Cox; +Cc: Loren M. Lang, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2883 bytes --]

On Fri, Sep 30, 2005 at 12:30:11AM +0100, Alan Cox wrote:
> On Iau, 2005-09-29 at 03:33 -0700, Loren M. Lang wrote:
> > Please CC me as I'm not on the list.
> > 
> > I just purchased a HighPoint Rocket 1520 SATA controller.  There seems
> > to be no libata driver (yet), but there is an ide driver, hpt366.  When
> 
> Is this 302 or 302N based (what does lspci -vxx say about it ?)

$ lspci -vxx
0000:02:0c.0 RAID bus controller: Triones Technologies, Inc. HPT372A
(rev 02)
        Subsystem: Triones Technologies, Inc.: Unknown device 0001
        Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 10
        I/O ports at dfe0 [size=feaa0000]
        I/O ports at dfac [size=4]
        I/O ports at dfa0 [size=8]
        I/O ports at dfa8 [size=4]
        I/O ports at d400 [size=256]
        Expansion ROM at 00020000 [disabled]
        Capabilities: <available only to root>
00: 03 11 05 00 05 01 30 02 02 00 04 01 04 40 00 00
10: e1 df 00 00 ad df 00 00 a1 df 00 00 a9 df 00 00
20: 01 d4 00 00 00 00 00 00 00 00 00 00 03 11 01 00
30: 00 00 aa fe 60 00 00 00 00 00 00 00 0a 01 08 08

I booted FreeBSD 6.0 and it seemed to reconize the card and attached
hard drive ok.  In the dmesg for freebsd, it mentioned 372N, if that
means anything.  There is a patch, I discovered, which disables the
driver from marking a 372A chipset from being detected as a 372N chip.
When I applied the patch, it finally detected the sata driver ok and my
new sata drive as well.  So my current hpt366 driver is as patched
below.  I added a check for a NULL drvdata to prevent the driver from
seg faulting when it failed to detect my chip, and I disabled a check
for the 372N chipset.

--- drivers/ide/pci/hpt366.c.orig       2005-09-29 01:00:12.000000000
-0700
+++ drivers/ide/pci/hpt366.c    2005-09-30 02:28:47.000000000 -0700
@@ -1168,8 +1168,10 @@ static int __devinit init_hpt37x(struct 
                did = inb(dmabase + 0x22);
                rid = inb(dmabase + 0x28);
 
+#if 0
                if((did == 4 && rid == 6) || (did == 5 && rid > 1))
                        is_372n = 1;
+#endif
        }
 
        /*
@@ -1310,6 +1312,10 @@ static int __devinit init_hpt37x(struct 
                                goto init_hpt37X_done;
                        }
                }
+               if (!pci_get_drvdata(dev)) {
+                       printk("No Clock Stabilization!!!");
+                       return -1;
+               }
 pll_recal:
                if (adjust & 1)
                        pll -= (adjust >> 1);


-- 
I sense much NT in you.
NT leads to Bluescreen.
Bluescreen leads to downtime.
Downtime leads to suffering.
NT is the path to the darkside.
Powerful Unix is.

Public Key: ftp://ftp.tallye.com/pub/lorenl_pubkey.asc
Fingerprint: CEE1 AAE2 F66C 59B5 34CA  C415 6D35 E847 0118 A3D2
 

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: RocketPoint 1520 [hpt366] fails clock stabilization
  2005-09-30  9:33   ` Loren M. Lang
@ 2005-09-30 11:34     ` Alan Cox
  2005-10-01 15:26       ` Loren M. Lang
  0 siblings, 1 reply; 5+ messages in thread
From: Alan Cox @ 2005-09-30 11:34 UTC (permalink / raw)
  To: Loren M. Lang; +Cc: linux-kernel

On Gwe, 2005-09-30 at 02:33 -0700, Loren M. Lang wrote:
> I booted FreeBSD 6.0 and it seemed to reconize the card and attached
> hard drive ok.  In the dmesg for freebsd, it mentioned 372N, if that
> means anything.  There is a patch, I discovered, which disables the

Yes - it means its the older card with a 372N on it.

> seg faulting when it failed to detect my chip, and I disabled a check
> for the 372N chipset.

Which means you are misclocking the IDE drive. I need to work out why
the PLL failed.

What does it report for FREQ and PLL if you boot 2.6.13.something on
it ?


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

* Re: RocketPoint 1520 [hpt366] fails clock stabilization
  2005-09-30 11:34     ` Alan Cox
@ 2005-10-01 15:26       ` Loren M. Lang
  0 siblings, 0 replies; 5+ messages in thread
From: Loren M. Lang @ 2005-10-01 15:26 UTC (permalink / raw)
  To: Alan Cox; +Cc: Loren M. Lang, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 4680 bytes --]

On Fri, Sep 30, 2005 at 12:34:04PM +0100, Alan Cox wrote:
> On Gwe, 2005-09-30 at 02:33 -0700, Loren M. Lang wrote:
> > I booted FreeBSD 6.0 and it seemed to reconize the card and attached
> > hard drive ok.  In the dmesg for freebsd, it mentioned 372N, if that
> > means anything.  There is a patch, I discovered, which disables the
> 
> Yes - it means its the older card with a 372N on it.

Actually, while FreeBSD claims it's a 372N, both NetBSD and OpenBSD
agree it's a 372A.  Also, FreeBSD reports UDMA133, instead of SATA150
like my onboard sata ports.  Is this chip a modified PATA driver?  There
seem to be lots of references to IDE drives used with this chip.

> 
> > seg faulting when it failed to detect my chip, and I disabled a check
> > for the 372N chipset.
> 
> Which means you are misclocking the IDE drive. I need to work out why
> the PLL failed.
> 
> What does it report for FREQ and PLL if you boot 2.6.13.something on
> it ?

On a vanilla 2.6.13.2 kernel, the FREQ is 144 and the PLL is 66.  The
driver still seg faults when it fails to find a stable clock.  I can
probably post an updated patch that will at least prevent it from
crashing and fail properly instead.  The full dmesg of the driver
insertion is below.

HPT372A: IDE controller at PCI slot 0000:02:0c.0
PCI: Enabling device 0000:02:0c.0 (0105 -> 0107)
ACPI: PCI Interrupt 0000:02:0c.0[A] -> GSI 20 (level, low) -> IRQ 23
HPT372A: chipset revision 2
HPT372A: 100% native mode on irq 23
hpt: HPT372N detected, using 372N timing.
FREQ: 124 PLL: 45
No Clock Stabilization!!!
hpt: no known IDE timings, disabling DMA.
hpt: HPT372N detected, using 372N timing.
FREQ: 144 PLL: 66
No Clock Stabilization!!!
hpt: no known IDE timings, disabling DMA.
Probing IDE interface ide2...
hde: WDC WD2500KS-00MJB0, ATA DISK drive
Unable to handle kernel NULL pointer dereference at virtual address
00000000
 printing eip:
fe0a7349
*pde = 00000000
Oops: 0000 [#1]
PREEMPT SMP 
Modules linked in: hpt366 nfsd exportfs lockd sunrpc nls_cp437
nls_iso8859_1 smbfs nls_base twofish serpent aes_i586 blowfish des
sha256 sha1 crypto_null af_key w8362
7hf i2c_sensor i2c_isa ipv6 rfcomm hidp l2cap snd_pcm_oss snd_mixer_oss
snd_seq_midi_event snd_seq snd_seq_device ohci_hcd parport_pc parport
floppy 8250_pnp 8250 ser
ial_core pcspkr ohci1394 ieee1394 snd_bt87x tuner tvaudio msp3400 bttv
video_buf firmware_class v4l2_common btcx_risc tveeprom videodev sk98lin
nvidiafb i2c_algo_bit 
snd_intel8x0 snd_ac97_codec snd_pcm snd_timer snd snd_page_alloc
i2c_i801 usb_storage ehci_hcd evdev hci_usb bluetooth usbhid uhci_hcd
intel_agp agpgart usbcore ufs s
d_mod ata_piix libata sg scsi_mod ide_cd cdrom dm_mod emu10k1 sound
soundcore ac97_codec
CPU:    0
EIP:    0060:[<fe0a7349>]    Not tainted VLI
EFLAGS: 00010282   (2.6.13.2) 
EIP is at pci_bus_clock_list+0x9/0x30 [hpt366]
eax: 0000000c   ebx: 00000051   ecx: 0000000c   edx: 00000000
esi: 30070000   edi: c1a7a660   ebp: c19ee000   esp: f6d0fe1c
ds: 007b   es: 007b   ss: 0068
Process insmod (pid: 15167, threadinfo=f6d0e000 task=f7d30a80)
Stack: fe0a7728 0000000c 00000000 00000051 00000000 0000000c 0c409900
00000000 
       00479990 c0479990 c0344cc1 000000ff c0479900 c029a929 c0479990
0000000c 
       fe0abaf8 00000017 00000017 00000017 00000246 00000000 c19ee000
00000000 
Call Trace:
 [<fe0a7728>] hpt372_tune_chipset+0xd8/0x160 [hpt366]
 [<c029a929>] probe_hwif+0x259/0x4a0
 [<c029ab85>] probe_hwif_init_with_fixup+0x15/0xa0
 [<c029e1a1>] ide_setup_pci_device+0x61/0xa0
 [<fe0a93d8>] hpt366_init_one+0x28/0x30 [hpt366]
 [<c022648f>] __pci_device_probe+0x5f/0x70
 [<c02264cf>] pci_device_probe+0x2f/0x50
 [<c027dd8b>] driver_probe_device+0x3b/0xb0
 [<c027de80>] __driver_attach+0x0/0x60
 [<c027ded0>] __driver_attach+0x50/0x60
 [<c027d359>] bus_for_each_dev+0x69/0x80
 [<c027df05>] driver_attach+0x25/0x30
 [<c027de80>] __driver_attach+0x0/0x60
 [<c027d8ad>] bus_add_driver+0x8d/0xe0
 [<c02267a3>] pci_register_driver+0x83/0xa0
 [<fe0a93ef>] hpt366_ide_init+0xf/0x14 [hpt366]
 [<c013dfea>] sys_init_module+0x16a/0x220
 [<c01030bb>] sysenter_past_esp+0x54/0x75
Code: c2 85 c0 ba 01 00 00 00 75 cf 8b 75 00 85 f6 75 e1 eb c4 eb 0d 90
90 90 90 90 90 90 90 90 90 90 90 90 0f b6 4c 24 04 8b 54 24 08 <0f> b6
02 84 c0 74 0e 38 c8 74
 0e 83 c2 08 0f b6 02 84 c0 75 f2 

-- 
I sense much NT in you.
NT leads to Bluescreen.
Bluescreen leads to downtime.
Downtime leads to suffering.
NT is the path to the darkside.
Powerful Unix is.

Public Key: ftp://ftp.tallye.com/pub/lorenl_pubkey.asc
Fingerprint: CEE1 AAE2 F66C 59B5 34CA  C415 6D35 E847 0118 A3D2
 

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

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

end of thread, other threads:[~2005-10-01 15:26 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-29 10:33 RocketPoint 1520 [hpt366] fails clock stabilization Loren M. Lang
2005-09-29 23:30 ` Alan Cox
2005-09-30  9:33   ` Loren M. Lang
2005-09-30 11:34     ` Alan Cox
2005-10-01 15:26       ` Loren M. Lang

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