lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 10 May 2007 11:43:09 +0200
From:	Tejun Heo <htejun@...il.com>
To:	Robert Hancock <hancockr@...w.ca>
CC:	linux-kernel <linux-kernel@...r.kernel.org>,
	linux-ide@...r.kernel.org,
	Andrew Morton <akpm@...ux-foundation.org>,
	Jeff Garzik <jeff@...zik.org>
Subject: Re: [PATCH] libata: add human-readable error value decoding

Robert Hancock wrote:
> This adds human-readable decoding of the ATA status and error registers
> (similar
> to what drivers/ide does) as well as the SATA Serror register to libata
> error
> handling output. This prevents the need to pore through standards documents
> to figure out the meaning of the bits in these registers when looking at
> error
> reports. Some bits that drivers/ide decoded are not decoded here, since
> the bits
> are either command-dependent or obsolete, and properly parsing them
> would add
> too much complexity.
> 
> Signed-off-by: Robert Hancock <hancockr@...w.ca>
> 
> --- linux-2.6.21.1/drivers/ata/libata-eh.c    2007-04-27
> 15:49:26.000000000 -0600
> +++ linux-2.6.21.1edit/drivers/ata/libata-eh.c    2007-05-09
> 19:47:53.000000000 -0600
> @@ -1523,6 +1523,27 @@ static void ata_eh_report(struct ata_por
>             ata_port_printk(ap, KERN_ERR, "(%s)\n", desc);
>     }
> 
> +    if (ehc->i.serror)
> +        ata_port_printk(ap, KERN_ERR,
> +          "SError: {%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s}\n",
> +          ehc->i.serror & SERR_DATA_RECOVERED ? "RecovDataErr " : "",
> +          ehc->i.serror & SERR_COMM_RECOVERED ? "RecovCommErr " : "",
> +          ehc->i.serror & SERR_DATA ? "UnrecovDataErr " : "",
> +          ehc->i.serror & SERR_PERSISTENT ? "PersistErr " : "",
> +          ehc->i.serror & SERR_PROTOCOL ? "ProtocolErr " : "",
> +          ehc->i.serror & SERR_INTERNAL ? "HostInternalErr " : "",
> +          ehc->i.serror & SERR_PHYRDY_CHG ? "PHYRdyChg " : "",
> +          ehc->i.serror & SERR_PHY_INT_ERR ? "PHYInternalErr " : "",
> +          ehc->i.serror & SERR_COMM_WAKE ? "CommWake " : "",
> +          ehc->i.serror & SERR_10B_8B_ERR ? "10B8BErr " : "",
> +          ehc->i.serror & SERR_DISPARITY ? "Disparity " : "",
> +          ehc->i.serror & SERR_CRC ? "CRCErr " : "",
> +          ehc->i.serror & SERR_HANDSHAKE ? "HandshakeErr " : "",
> +          ehc->i.serror & SERR_LINK_SEQ_ERR ? "LinkSeqErr " : "",
> +          ehc->i.serror & SERR_TRANS_ST_ERROR ? "TransStatTransErr " : "",
> +          ehc->i.serror & SERR_UNRECOG_FIS ? "UnrecogFIS " : "",
> +          ehc->i.serror & SERR_DEV_XCHG ? "DevExchanged " : "" );

I'm not really convinced whether this is necessary.  The human readable
form is also a bit cryptic and can get quite long.  So, mild NACK from me.

-- 
tejun
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ