Re: Regression: kernel 2.6.24{,.1} ahci problem, does not boot (fwd)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Sorry,

my last mail i forgot to see the MAINTAINERS file and send
only to LKML and to Tejun Heo.

-----forwarded mail below----------------------------------

Hi,

I have a notebook with SiS968. It works with 2.6.23.x
kernels but not with 2.6.24+ kernels. Probably my
problem is the same of this old thread:

http://lkml.org/lkml/2008/2/14/263

The error is exactly the same.

Looking the changes from 2.6.23 to 2.6.24 in

http://kernelnewbies.org/Linux_2_6_24#head-f29764e7ef293be84e2f8aa1b08b8816b15ebfca

I try to revert two commits to see which one brokes
my SATA device support. The guilt is this one:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7d50b60b5e38f910ad69f0187af00f5d6a8970d4

It implements PMP support. In attached patch, I
disable PMP support in ahci.c to SiS SATA controllers.

I hope i am sending the patch to correct place and
it works fine to others (well, it's working to me).

The patch is against 2.6.24.5, but i think it's easy
to adapt to 2.6.25+

Thanks

Piter PUNK
--- linux-2.6.24.5/drivers/ata/ahci.c	2008-04-18 22:53:39.000000000 -0300
+++ linux-2.6.24.5_sis-fixed/drivers/ata/ahci.c	2008-06-14 22:58:22.000000000 -0300
@@ -85,6 +85,7 @@
 	board_ahci_ign_iferr	= 2,
 	board_ahci_sb600	= 3,
 	board_ahci_mv		= 4,
+	board_ahci_sis		= 5,
 
 	/* global controller registers */
 	HOST_CAP		= 0x00, /* host capabilities */
@@ -442,6 +443,15 @@
 		.udma_mask	= ATA_UDMA6,
 		.port_ops	= &ahci_ops,
 	},
+	/* board_ahci_sis */
+	{
+		AHCI_HFLAGS	(AHCI_HFLAG_NO_PMP),
+		.flags		= AHCI_FLAG_COMMON,
+		.link_flags	= AHCI_LFLAG_COMMON | ATA_LFLAG_HRST_TO_RESUME,
+		.pio_mask	= 0x1f, /* pio0-4 */
+		.udma_mask	= ATA_UDMA6,
+		.port_ops	= &ahci_vt8251_ops,
+	},
 };
 
 static const struct pci_device_id ahci_pci_tbl[] = {
@@ -552,9 +562,9 @@
 	{ PCI_VDEVICE(NVIDIA, 0x0abf), board_ahci },		/* MCP79 */
 
 	/* SiS */
-	{ PCI_VDEVICE(SI, 0x1184), board_ahci }, /* SiS 966 */
-	{ PCI_VDEVICE(SI, 0x1185), board_ahci }, /* SiS 966 */
-	{ PCI_VDEVICE(SI, 0x0186), board_ahci }, /* SiS 968 */
+	{ PCI_VDEVICE(SI, 0x1184), board_ahci_sis }, /* SiS 966 */
+	{ PCI_VDEVICE(SI, 0x1185), board_ahci_sis }, /* SiS 968 */
+	{ PCI_VDEVICE(SI, 0x0186), board_ahci_sis }, /* SiS 968 */
 
 	/* Marvell */
 	{ PCI_VDEVICE(MARVELL, 0x6145), board_ahci_mv },	/* 6145 */

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux