From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751539AbWHaLYT (ORCPT ); Thu, 31 Aug 2006 07:24:19 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751570AbWHaLYT (ORCPT ); Thu, 31 Aug 2006 07:24:19 -0400 Received: from math.ut.ee ([193.40.36.2]:2002 "EHLO math.ut.ee") by vger.kernel.org with ESMTP id S1751539AbWHaLYS (ORCPT ); Thu, 31 Aug 2006 07:24:18 -0400 Date: Thu, 31 Aug 2006 14:24:15 +0300 (EEST) From: Meelis Roos To: Linux Kernel list Subject: ahci_host_intr BUG Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Background: I have a yet-unidentified problem with 2 HDD-s that are very slow and often time out. They are connected to Intel ICH5R SATA controller. I tried with both ata_piix and ahci drivers. I 2.6.15 era driver, any such SATA error hung up the disk. In 2.6.17 (Debian 2.6.17-2-686 kernel, package version 2.6.17-7) the errors are handled much better, woprk is resumed after timeout. ata_piix just logs the messages about timeout, drive being { Busy} and then reset and continue. AHCI driver on the other hand logs this on every error but then continues fine (albeit slowly): Info fld=0xb530a4 ata1: handling error/timeout ata1: port reset, p_is 0 is 0 pis 0 cmd 4017 tf d0 ss 113 se 0 BUG: warning at drivers/scsi/ahci.c:853/ahci_host_intr() ahci_interrupt+0xda/0x1b5 [ahci] handle_IRQ_event+0x23/0x4c __do_IRQ+0x7e/0xd1 do_IRQ+0x19/0x24 common_interrupt+0x1a/0x20 __do_softirq+0x4f/0xc2 do_softirq+0x2e/0x32 apic_timer_interrupt+0x1c/0x24 _spin_unlock_irqrestore+0x6/0x7 ahci_eng_timeout+0x65/0x71 [ahci] ata_scsi_error+0x8c/0xe8 [libata] scsi_error_handler+0xab/0xa4a [scsi_mod] scsi_error_handler+0x0/0xa4a [scsi_mod] kthread+0x9f/0xcb kthread+0x0/0xcb kernel_thread_helper+0x5/0xb BUG: warning at drivers/scsi/ahci.c:853/ahci_host_intr() ahci_interrupt+0xda/0x1b5 [ahci] handle_IRQ_event+0x23/0x4c __do_IRQ+0x7e/0xd1 do_IRQ+0x19/0x24 common_interrupt+0x1a/0x20 mwait_idle+0x1f/0x34 cpu_idle+0x8f/0xa8 ata1: status=0x50 { DriveReady SeekComplete } sda: Current: sense key: No Sense Additional sense: No additional sense information -- Meelis Roos (mroos@linux.ee)