On my older P3 based machine I have not been able to use the libata drivers because pata_hpt366 would cause the kernel to hang on boot. They have finally fixed this for the the latest git, I think due for 2.6.29. It'd be nice to have a patch already in upcoming gentoo-sources-2.6.28 releases. Reproducible: Always Steps to Reproduce: 1. Compile any kernel with CONFIG_PATA_HPT366=y enabled and boot Actual Results: Machine locked up with no error messages. Expected Results: Boot normally From: Tejun Heo <tj@kernel.org> Date: Thu, 8 Jan 2009 21:29:20 +0000 (-0500) Subject: pata_hpt366: reimplement mode programming X-Git-Tag: v2.6.29-rc1~48^2~3 X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=6ecb6f25d3a52c0d032aa73bde1ff9bc454aa66c pata_hpt366: reimplement mode programming Reimplement mode programming logic of pata_hpt366 such that it's identical to that of IDE hpt366 driver. The differences were... * pata_hpt366 used 0xCFFF8FFFF to mask pio modes and 0x3FFFFFFF dma modes. IDE hpt366 uses 0xC1F8FFFF for PIO, 0x303800FF for MWDMA and 0x30070000 for UDMA. * pata_hpt366 doesn't set 0x08000000 for PIO unless it's already set and always turns it on for MWDMA/UDMA. IDE hpt366 doesn't bother with the bit. It always uses what was there. * IDE hpt366 always clears 0xC0000000. pata_hpt366 doesn't. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Created attachment 178329 [details] This update from the git is currently working With the updated pata_hpt366.c everything is working as expected.
Created attachment 178331 [details, diff] Patch for update
fixed in gentoo-sources-2.6.28-r1