From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756391AbXKCRNU (ORCPT ); Sat, 3 Nov 2007 13:13:20 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754787AbXKCRNM (ORCPT ); Sat, 3 Nov 2007 13:13:12 -0400 Received: from py-out-1112.google.com ([64.233.166.180]:57547 "EHLO py-out-1112.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754294AbXKCRNL (ORCPT ); Sat, 3 Nov 2007 13:13:11 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:date:from:to:cc:subject:message-id:mime-version:content-type:content-disposition:user-agent; b=EwndmwZ+uwu6eAM65xCEU79xNsMXV919/IEH/s8/GbttNOpsIQ1NFpPaVEhl/fGkN79oc4e7ucJ/dNUyOpmZlywRJ2IVUiZG84WZ/aqKlhIOrACIIy4BIh+zChzHP73LLvz9AT+XDiGCl46MrmL0lb8YLsoLORH9joakABaCwFI= Date: Sat, 3 Nov 2007 18:13:10 +0100 From: Luca Tettamanti To: Tejun Heo , Jeff Garzik Cc: linux-kernel@vger.kernel.org Subject: Regression: libata: implement ata_wait_after_reset() Message-ID: <20071103171310.GA6601@dreamland.darkstar.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.16 (2007-06-11) Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Hi, latest git causes my extra disk controller to die with screaming interrupts. Picture here: http://img113.imageshack.us/my.php?image=im000708vj7.jpg The controller card is this one (SATA port is not in use): 05:02.0 Mass storage controller: ALi Corporation ALi M5281 Serial ATA / RAID Host Controller (rev a4) (prog-if 85) Subsystem: ALi Corporation ALi M5281 Serial ATA / RAID Host Controller Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- TAbort- SERR- Date: Tue Oct 16 14:21:24 2007 -0700 libata: implement ata_wait_after_reset() On certain device/controller combination, 0xff status is asserted after reset and doesn't get cleared during 150ms post-reset wait. As 0xff status is interpreted as no device (for good reasons), this can lead to misdetection on such cases. This patch implements ata_wait_after_reset() which replaces the 150ms sleep and waits upto ATA_TMOUT_FF_WAIT if status is 0xff. ATA_TMOUT_FF_WAIT is currently 800ms which is enough for HHD424020F7SV00 to get detected but not enough for Quantum GoVault drive which is known to take upto 2s. Without parallel probing, spending 2s on 0xff port would incur too much delay on ata_piix's which use 0xff to indicate empty port and doesn't have SCR register, so GoVault needs to wait till parallel probing. Signed-off-by: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik :040000 040000 44a0d6b9b2b0e7d4721c013d90a7ccd9656dcd2c 8587bfcf26176f1286bfab26cd6d150712dfd5f8 M drivers :040000 040000 2775bec0948fd2306c750b3a215f449c8b3d13ba 8c0fdbb87154af8fc804918a29e72060a2c6939c M include I can set up a serial console if you need further debug output. Luca -- Non sempre quello che viene dopo e` progresso. Alessandro Manzoni