Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Jun 2011 08:16:56 +0200
From:      Rick van der Zwet <info@rickvanderzwet.nl>
To:        freebsd-current@freebsd.org
Subject:   ATA_PERIODIC_POLL on ATA_I82801HBM_S1 causes lockups
Message-ID:  <BANLkTi=xrkBifH3CvECEWKqVk-P8r4DOiw@mail.gmail.com>

next in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
The ICH8M found in the MacBookPro4,1 has an known issue [1] which
locks up when enabling the periodic poll using sidpr (introduced a
``little'' while ago in r214016), making it impossible to boot.

Attached patch disables the polling and thus fixes the issue.

Br. /Rick
[1] http://www.spinics.net/lists/linux-ide/msg23487.html
-- 
http://rickvanderzwet.nl

[-- Attachment #2 --]
Index: sys/dev/ata/chipsets/ata-intel.c
===================================================================
--- sys/dev/ata/chipsets/ata-intel.c	(revision 222949)
+++ sys/dev/ata/chipsets/ata-intel.c	(working copy)
@@ -366,7 +366,10 @@
 				smap[1] = 3;
 			}
 		}
-		if (ch->flags & ATA_SATA) {
+  	  	if (ctlr->chip->chipid == ATA_I82801HBM_S1) {
+			/* Disable polling, locks up after enabling sidpr */
+			ctlr->setmode = ata_intel_new_setmode;
+		} else if (ch->flags & ATA_SATA) {
 			if ((ctlr->chip->cfg1 & INTEL_ICH5)) {
 				ch->flags |= ATA_PERIODIC_POLL;
 				ch->hw.status = ata_intel_sata_status;

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BANLkTi=xrkBifH3CvECEWKqVk-P8r4DOiw>