From owner-freebsd-bugs@FreeBSD.ORG Thu Aug 12 15:40:04 2010 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5F9121065694 for ; Thu, 12 Aug 2010 15:40:04 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 3CB388FC18 for ; Thu, 12 Aug 2010 15:40:04 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o7CFe4fk015387 for ; Thu, 12 Aug 2010 15:40:04 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o7CFe4hM015386; Thu, 12 Aug 2010 15:40:04 GMT (envelope-from gnats) Resent-Date: Thu, 12 Aug 2010 15:40:04 GMT Resent-Message-Id: <201008121540.o7CFe4hM015386@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Bryce Simonds Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D497B1065698 for ; Thu, 12 Aug 2010 15:39:37 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id C3C608FC16 for ; Thu, 12 Aug 2010 15:39:37 +0000 (UTC) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.3/8.14.3) with ESMTP id o7CFda99034752 for ; Thu, 12 Aug 2010 15:39:36 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.3/8.14.3/Submit) id o7CFdaD1034745; Thu, 12 Aug 2010 15:39:36 GMT (envelope-from nobody) Message-Id: <201008121539.o7CFdaD1034745@www.freebsd.org> Date: Thu, 12 Aug 2010 15:39:36 GMT From: Bryce Simonds To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: kern/149580: When using an SIIG SATA card the error "Unexpected signature 0xa05f" is reported when a new drive is connected X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Aug 2010 15:40:04 -0000 >Number: 149580 >Category: kern >Synopsis: When using an SIIG SATA card the error "Unexpected signature 0xa05f" is reported when a new drive is connected >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Aug 12 15:40:03 UTC 2010 >Closed-Date: >Last-Modified: >Originator: Bryce Simonds >Release: 8.1-RELEASE >Organization: Veriam Technology, Inc. >Environment: FreeBSD fossel 8.1-RELEASE FreeBSD 8.1-RELEASE #1: Thu Aug 12 10:08:51 CDT 2010 bsimonds@fossel:/usr/src/sys/i386/compile/FOSSEL i386 >Description: When using the SIIG DP SATA 6Gb/s 2S1P PCIe card an error is reported when a drive is hot plugged into the card: Aug 11 16:59:05 fossel kernel: (aprobe0:ahcich0:0:0:0): Unexpected signature 0xa05f The SATA controller on the motherboard works fine. >How-To-Repeat: Need a SIIG DP SATA 6Gb/s 2S1P PCIe card. While using the ahci(4) driver, hot plug a SATA drive into the card, this should generate the error (the error is viewable from dmesg) >Fix: Submitted a patch that appears to work around the problem okay, but I'm not certain this this is a correct fix. I believe this might be a RAID signature code, but I'm using the card for individual SATA drives not the RAID portion so it suits our needs. Patch attached with submission follows: --- ata_xpt.c.orig 2010-08-12 10:16:46.000000000 -0500 +++ ata_xpt.c 2010-08-12 10:08:29.000000000 -0500 @@ -776,7 +776,10 @@ done_ccb->ataio.res.lba_mid; if (bootverbose) xpt_print(path, "SIGNATURE: %04x\n", sign); - if (sign == 0x0000 && +/* BEGIN VERIAM HACK! */ +/* if (sign == 0x0000 && */ + if ( ((sign == 0x0000) || (sign == 0xA05F)) && +/* END VERIAM HACK! */ done_ccb->ccb_h.target_id != 15) { path->device->protocol = PROTO_ATA; PROBE_SET_ACTION(softc, PROBE_IDENTIFY); >Release-Note: >Audit-Trail: >Unformatted: