At Thu, 29 May 2008 15:09:13 +0900, Tejun Heo wrote: > > So, it shouldn't get here. Strange. Ah... Crap. Now I see it. > Generic entry for 2828 is above ich8m_apple_sata entry. I wonder how > this ever worked. Here's the updated patch. This is without the SIDPR > change. If this doesn't work please remove PIIX_FLAG_SIDPR from > ich8m_apple_sata entry and see whether that helps. Thanks. Now I see why it did get to that line even with the patch... Anyway, I confirmed that your newest patch (plus PIIX_FLAG_SIDPR removal) now works fine both with the AC adapter plugged or unplugged. So the final patch for this case should be as follows. Thanks again for your help. -- Kohji
--- linux-2.6.26-rc4/drivers/ata/ata_piix.c.orig 2008-05-29 12:26:18.000000000 +0900 +++ linux-2.6.26-rc4/drivers/ata/ata_piix.c 2008-05-29 17:17:46.000000000 +0900 @@ -247,10 +247,11 @@ { 0x8086, 0x2820, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata }, /* SATA Controller 2 IDE (ICH8) */ { 0x8086, 0x2825, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata }, - /* Mobile SATA Controller IDE (ICH8M) */ - { 0x8086, 0x2828, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata }, /* Mobile SATA Controller IDE (ICH8M), Apple */ { 0x8086, 0x2828, 0x106b, 0x00a0, 0, 0, ich8m_apple_sata }, + { 0x8086, 0x2828, 0x106b, 0x00a1, 0, 0, ich8m_apple_sata }, + /* Mobile SATA Controller IDE (ICH8M) */ + { 0x8086, 0x2828, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata }, /* SATA Controller IDE (ICH9) */ { 0x8086, 0x2920, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata }, /* SATA Controller IDE (ICH9) */ @@ -526,7 +527,7 @@ [ich8m_apple_sata] = { - .flags = PIIX_SATA_FLAGS | PIIX_FLAG_SIDPR, + .flags = PIIX_SATA_FLAGS, .pio_mask = 0x1f, /* pio0-4 */ .mwdma_mask = 0x07, /* mwdma0-2 */ .udma_mask = ATA_UDMA6,