Messages in this thread | | | Date | Sun, 17 Sep 2006 20:48:26 -0700 | From | "Robin H. Johnson" <> | Subject | Re: 2.6.18-rc7-git1: AHCI not seeing devices on ICH8 mobo (DG965RY) |
| |
On Sun, Sep 17, 2006 at 04:49:29PM +0900, Tejun Heo wrote: > On Sat, Sep 16, 2006 at 02:08:57PM -0700, Robin H. Johnson wrote: > > I recompiled libata and AHCI using the ATA_DEBUG and ATA_VERBOSE_DEBUG > > defines, and got an interesting trace. > > > > In specific, look at port_idx 2/3, being all zeros in ahci_host_init. > > > > I'm digging into it further now, but something makes me suspect that > > base addresses for ports 3/4 are wrong. > > > > Full file at: > > http://orbis-terrarum.net/~robbat2/x86_64-mmconfig-failure/2.6.18-rc7-git1-libata-ahci-verbose-failure.dmesg > > Can you please try the attached patch? Yes your patch fixes it perfectly - it's a better version of an almost working fix I hacked up after my previous email.
Some patch review comments below as well.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
> @@ -186,9 +187,11 @@ struct ahci_host_priv { > unsigned long flags; > u32 cap; /* cache of HOST_CAP register */ > u32 port_map; /* cache of HOST_PORTS_IMPL reg */ > + int port_tbl[AHCI_MAX_PORTS]; > }; maybe u8 instead of int? also a comment - /* mapping of port_idx to the implemented port */
> + if (n_ports == 0) { > + dev_printk(KERN_ERR, &pdev->dev, "0 port implemented\n"); > + return -EINVAL; > + } Use plural form (0 ports), or negative (No ports) instead.
-- Robin Hugh Johnson E-Mail : robbat2@gentoo.org GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85 [unhandled content-type:application/pgp-signature] | |