* 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