From patchwork Wed Jun 23 17:28:09 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Tejun Heo X-Patchwork-Id: 56697 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 2C07EB6F29 for ; Thu, 24 Jun 2010 03:28:21 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752565Ab0FWR2T (ORCPT ); Wed, 23 Jun 2010 13:28:19 -0400 Received: from hera.kernel.org ([140.211.167.34]:45589 "EHLO hera.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752532Ab0FWR2S (ORCPT ); Wed, 23 Jun 2010 13:28:18 -0400 Received: from htj.dyndns.org (localhost [127.0.0.1]) by hera.kernel.org (8.14.4/8.14.3) with ESMTP id o5NHS90g011372; Wed, 23 Jun 2010 17:28:10 GMT X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.95.2 at hera.kernel.org Received: from [127.0.0.2] (htj.dyndns.org [127.0.0.2]) by htj.dyndns.org (Postfix) with ESMTPSA id 967DA1072B608; Wed, 23 Jun 2010 19:28:09 +0200 (CEST) Message-ID: <4C224429.6010705@kernel.org> Date: Wed, 23 Jun 2010 19:28:09 +0200 From: Tejun Heo User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.1.10) Gecko/20100512 Thunderbird/3.0.5 MIME-Version: 1.0 To: =?ISO-8859-1?Q?Ortwin_Gl=FCck?= CC: linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org Subject: Re: ata link not reset properly References: <4C223F8A.9030306@odi.ch> In-Reply-To: <4C223F8A.9030306@odi.ch> X-Enigmail-Version: 1.0.1 X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on hera.kernel.org X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.3 (hera.kernel.org [127.0.0.1]); Wed, 23 Jun 2010 17:28:11 +0000 (UTC) Sender: linux-ide-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ide@vger.kernel.org Hello, On 06/23/2010 07:08 PM, Ortwin Glück wrote: >>From time to time this nVidia SATA controller chokes on a FLUSH CACHE. > > 1. why does the kernel not try to HARD reset the link? Because hardreset sometimes brings the link completely offline on sata_nv's. Hardreset on sata_nv controllers is quite fragile. > 2. it would be nice to have the possibility to manually force a > (hard) reset or to re-initialize the device. Other than rebooting I > mean :-) Maybe we can use hardreset as the last resort before ditching the device. Something like the following. Can you please try it and post the kernel log? Thanks. diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c index 2116113..5105951 100644 --- a/drivers/ata/sata_nv.c +++ b/drivers/ata/sata_nv.c @@ -1587,7 +1587,7 @@ static int nv_hardreset(struct ata_link *link, unsigned int *class, * comment above port ops for details. */ if (!(link->ap->pflags & ATA_PFLAG_LOADING) && - !ata_dev_enabled(link->device)) + (!ata_dev_enabled(link->device) || ehc->tries[0] == 1)) sata_link_hardreset(link, sata_deb_timing_hotplug, deadline, NULL, NULL); else {