mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Woody Suwalski <woodys@xandros.com>
To: linux-kernel@vger.kernel.org
Subject: Re: Highpoint SATA RAID (khe khe) status -- oopses, crashes, etc
Date: Wed, 26 Apr 2006 15:41:48 -0400	[thread overview]
Message-ID: <444FCCFC.2060408@xandros.com> (raw)
In-Reply-To: <65zwE-61W-35@gated-at.bofh.it>

Yaroslav Halchenko wrote:
> Dear Kernel Developers,
> 
> I've search the archive and the web extensively: there were some reports
> from the users of RocketRaid 1520 fakeraid about inability to use
> propriatary drivers as well as their opensource drivers:
> http://marc.theaimsgroup.com/?l=linux-kernel&m=113566695101306&w=2
> and leaving the hope reply from Dr.Cox:
> http://marc.theaimsgroup.com/?l=linux-kernel&m=113631066409179&w=2
> 
> compiled for amd64:
> 2.6.8 kernel: oopsed but seems to somewhat perform after that
> 2.6.15 kernel:  oopsed during boot (debian installer for some reason
> tried it automatically.... grrr) and then it would halt any insmod of
> any IDE driver
> 
> Details on my system and boot/install process can be found from
> http://www.onerussian.com/Linux/bugs/hpt.bug/
> This time I was using beta debian etch installer (which supposedly had
> freshier kernel than sarge's 2.6.8)
> 
> Please advise: can I do anything about this crappy card or I better
> setup nfsroot for now and just buy another supported SATA raid card?
> Thank you in advance. I am willing to perform more testing if that is
> necessary/possible
> 
> Relevant part of syslog (kernel 2.6.15-1-amd64)
> 
> Apr 25 09:42:17 kernel: HPT372A: IDE controller at PCI slot 0000:04:05.0
> Apr 25 09:42:17 kernel: GSI 17 sharing vector 0xB1 and IRQ 17
> Apr 25 09:42:17 kernel: ACPI: PCI Interrupt 0000:04:05.0[A] -> GSI 16 (level, low) -> IRQ 17
> Apr 25 09:42:17 kernel: HPT372A: chipset revision 2
> Apr 25 09:42:17 kernel: HPT372A: 100% native mode on irq 17
> Apr 25 09:42:17 kernel: hpt: HPT372N detected, using 372N timing.
> Apr 25 09:42:17 kernel: FREQ: 125 PLL: 45
> Apr 25 09:42:17 kernel: HPT37XN: unknown bus timing [48 4].
> Apr 25 09:42:17 kernel: hpt: no known IDE timings, disabling DMA.
> Apr 25 09:42:17 kernel: hpt: HPT372N detected, using 372N timing.
> Apr 25 09:42:17 kernel: FREQ: 140 PLL: 66
> Apr 25 09:42:17 kernel: HPT37XN: unknown bus timing [69 4].
> Apr 25 09:42:17 kernel: hpt: no known IDE timings, disabling DMA.
> Apr 25 09:42:17 kernel: Probing IDE interface ide2...
> Apr 25 09:42:17 kernel: hde: WDC WD800JD-55MSA1, ATA DISK drive
> Apr 25 09:42:17 kernel: ACPI: Processor [CPU1] (supports 8 throttling states)
> Apr 25 09:42:18 S30read-environment: Setting debconf/priority to 'low'.
> Apr 25 09:42:18 frontend: Setting debconf/priority to low
> Apr 25 09:42:18 preseed: successfully loaded preseed file from /preseed.cfg
> Apr 25 09:42:18 udevd-event[1231]: run_program: '/sbin/modprobe' abnormal exit
> Apr 25 09:42:18 kernel: Unable to handle kernel NULL pointer dereference at 0000000000000000 RIP: 
> Apr 25 09:42:18 kernel: <ffffffff8802b069>{:hpt366:pci_bus_clock_list+16}
> Apr 25 09:42:18 kernel: PGD 7f904067 PUD 7da23067 PMD 0 
> Apr 25 09:42:18 kernel: Oops: 0000 [1] 
> Apr 25 09:42:18 kernel: CPU 0 
> Apr 25 09:42:18 kernel: Modules linked in: thermal processor fan generic hpt366 ide_core ohci_hcd
> Apr 25 09:42:18 kernel: Pid: 1232, comm: modprobe Not tainted 2.6.15-1-amd64-generic #2
> Apr 25 09:42:18 kernel: RIP: 0010:[<ffffffff8802b069>] <ffffffff8802b069>{:hpt366:pci_bus_clock_list+16}
> Apr 25 09:42:18 kernel: RSP: 0000:ffff81007d0d5b40  EFLAGS: 00010246
> Apr 25 09:42:18 kernel: RAX: 0000000000000000 RBX: 0000000030070000 RCX: 0000000000000051
> Apr 25 09:42:18 kernel: RDX: 000000000000000c RSI: 0000000000000000 RDI: 000000000000000c
> Apr 25 09:42:18 kernel: RBP: 0000000000000051 R08: 0000000000000000 R09: 0000000000000000
> Apr 25 09:42:18 kernel: R10: 0000000000000093 R11: ffffffff80249ec7 R12: ffff81007f427000
> Apr 25 09:42:18 kernel: R13: ffff81007f994940 R14: ffffffff88023698 R15: 000000000000000c
> Apr 25 09:42:18 kernel: FS:  00002aaaaad816c0(0000) GS:ffffffff803c8800(0000) knlGS:0000000000000000
> Apr 25 09:42:18 kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> Apr 25 09:42:18 kernel: CR2: 0000000000000000 CR3: 000000007e824000 CR4: 00000000000006e0
> Apr 25 09:42:18 kernel: Process modprobe (pid: 1232, threadinfo ffff81007d0d4000, task ffff81007e598200)
> Apr 25 09:42:18 kernel: Stack: ffffffff8802c389 400c81007e598200 ffff81007e598200 0000000000000000 
> Apr 25 09:42:18 kernel:        ffffffff88023580 ffffffff88023580 0000000000000000 ffffffff8802ec60 
> Apr 25 09:42:18 kernel:        ffffffff880235a0 ffffffff88023698 
> Apr 25 09:42:18 kernel: Call Trace:<ffffffff8802c389>{:hpt366:hpt372_tune_chipset+202}
> Apr 25 09:42:18 kernel:        <ffffffff8802c42c>{:hpt366:hpt3xx_tune_chipset+62} <ffffffff8800d427>{:ide_core:ide_get_best_pio_mode+104}
> Apr 25 09:42:18 kernel:        <ffffffff8800eb2f>{:ide_core:probe_hwif+1780} <ffffffff8800f725>{:ide_core:probe_hwif_init_with_fixup+14}
> Apr 25 09:42:18 kernel:        <ffffffff8801174b>{:ide_core:ide_setup_pci_device+71}
> Apr 25 09:42:18 kernel:        <ffffffff80230744>{get_device+20} <ffffffff801dc4fe>{pci_match_device+17}
> Apr 25 09:42:18 kernel:        <ffffffff801dc5de>{pci_device_probe+74} <ffffffff80231c62>{driver_probe_device+63}
> Apr 25 09:42:18 kernel:        <ffffffff80231d15>{__driver_attach+0} <ffffffff80231d4a>{__driver_attach+53}
> Apr 25 09:42:18 kernel:        <ffffffff8023133e>{bus_for_each_dev+67} <ffffffff80231744>{bus_add_driver+116}
> Apr 25 09:42:18 kernel:        <ffffffff801dc382>{__pci_register_driver+132} <ffffffff80142815>{sys_init_module+4932}
> Apr 25 09:42:18 kernel:        <ffffffff80154e2d>{vma_prio_tree_insert+30} <ffffffff8015b7b1>{do_mmap_pgoff+1512}
> Apr 25 09:42:18 kernel:        <ffffffff8016cc8f>{sys_newfstat+32} <ffffffff8010e4ba>{system_call+126}
> Apr 25 09:42:18 kernel:        
> Apr 25 09:42:18 kernel: 
> Apr 25 09:42:18 kernel: Code: 8a 06 84 c0 75 ee 8b 46 04 c3 48 c7 c6 60 f1 02 88 eb 84 80 
> Apr 25 09:42:18 kernel: RIP <ffffffff8802b069>{:hpt366:pci_bus_clock_list+16} RSP <ffff81007d0d5b40>
> Apr 25 09:42:18 kernel: CR2: 0000000000000000
> Apr 25 09:42:18 kernel: vga16fb: initializing
> Apr 25 09:42:18 kernel: vga16fb: mapped to 0xffff8100000a0000
> Apr 25 09:42:18 kernel: Console: switching to colour frame buffer device 80x30
> Apr 25 09:42:18 kernel: fb0: VGA16 VGA frame buffer device

I had a similar segfault caused by hpt366 hardware.
I have made a small patch to simply assume in such bad case the slowest 
possible setting and avoid the NULL pointer, however it is not a 
officialy good solution. My hardware is so crappy, that timing can not 
be really adjusted, even Alan Cox's newest and greatest ide-on-sata 
falls back to the 33MHz timings. After the patch the controller works, 
however really slow.
In the patch below, you can try as well thirty_three in place of 
sixty_six (for testing):


--- linux-2.6.15/drivers/ide/pci/hpt366.c.2.6.15        2006-01-02 
22:21:10.000000000 -0500
+++ linux-2.6.15/drivers/ide/pci/hpt366.c       2006-03-09 
13:45:54.000000000 -0500
@@ -680,6 +680,13 @@ static int hpt370_tune_chipset(ide_drive
         list_conf = pci_bus_clock_list(speed, info->speed);

         pci_read_config_dword(dev, drive_pci, &drive_conf);
+
+       // woody@xandros.com: if we have a NULL table, assume the slowest
+       if (! info->speed)
+       {
+               info->speed = sixty_six_base_hpt370a;
+       }
+
         list_conf = (list_conf & ~conf_mask) | (drive_conf & conf_mask);

         if (speed < XFER_MW_DMA_0)
@@ -708,7 +715,14 @@ static int hpt372_tune_chipset(ide_drive
         drive_fast &= ~0x07;
         pci_write_config_byte(dev, regfast, drive_fast);

+       // woody@xandros.com: if we have a NULL table, assume the slowest
+       if (! info->speed)
+       {
+               info->speed = sixty_six_base_hpt372;
+       }
+
         list_conf = pci_bus_clock_list(speed, info->speed);
+
         pci_read_config_dword(dev, drive_pci, &drive_conf);
         list_conf = (list_conf & ~conf_mask) | (drive_conf & conf_mask);
         if (speed < XFER_MW_DMA_0)
@@ -1288,6 +1302,10 @@ static void __devinit hpt37x_clocking(id
                                 goto init_hpt37X_done;
                         }
                 }
+               if (!pci_get_drvdata(dev)) {
+                       printk("No Clock Stabilization!!!\n");
+                       return;
+               }
  pll_recal:
                 if (adjust & 1)
                         pll -= (adjust >> 1);




Woody

       reply	other threads:[~2006-04-26 19:41 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <65zwE-61W-35@gated-at.bofh.it>
2006-04-26 19:41 ` Woody Suwalski [this message]
2006-04-27  5:35   ` Yaroslav Halchenko
2006-04-27 16:49     ` Yaroslav Halchenko
2006-04-27 17:12       ` Yaroslav Halchenko
2006-04-28 19:20     ` Yaroslav Halchenko
2006-04-25 17:23 Yaroslav Halchenko
2006-04-26 19:06 ` Yaroslav Halchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=444FCCFC.2060408@xandros.com \
    --to=woodys@xandros.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome