All of lore.kernel.org
 help / color / mirror / Atom feed
From: thomas schorpp <thomas.schorpp@googlemail.com>
To: Mikael Pettersson <mikpe@it.uu.se>
Cc: Robert Hancock <hancockrwd@gmail.com>, linux-ide@vger.kernel.org
Subject: Re: HSM violations from ATA PACKET cmd ABRT errors in initial comms with   LG GH22 SATA DVDRW
Date: Mon, 04 Jan 2010 03:00:47 +0100	[thread overview]
Message-ID: <4B414BCF.1020607@gmail.com> (raw)
In-Reply-To: <19265.3552.13209.914969@pilspetsen.it.uu.se>

Mikael Pettersson wrote:
> Mikael Pettersson writes:
>  > Robert Hancock writes:
>  >  > On 12/27/2009 02:37 PM, thomas schorpp wrote:
>  >  > > LG GH22NS40 NL01 (possibly Renesas chipset)
>  >  > > VIA8237 SATA (produces basically same errors), Promise SATA II 150 20579
>  >  > > HBAs.
>  >  > >
>  >  > > Linux 2.6.32.2
>  >  > > hal polling
>  >  > > devkit polling
>  >  > > wodim
>  >  > > growisofs
>  >  > >
>  >  > > port_status 0x20280000 (Data Transfer Overrun Error & Target Device Fault)?
>  >  > >
>  >  > > Looks like a hardware combination incompatibility.
>  >  > > Most applicable ATA_HORKAGES in sourcecode already tried.
>  >  > >
>  >  > > Not found the sense code yet since FEATURE specific according to
>  >  > > T13/1410D revision 3b.
>  >  > >
>  >  > > Comments?
>  >  > >
>  >  > > y
>  >  > > tom
>  >  > >
>  >  > > dmesg |grep -A 10 ata
>  >  > >
>  >  > > sata_promise 0000:00:0d.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
>  >  > > scsi5 : sata_promise
>  >  > > scsi6 : sata_promise
>  >  > > scsi7 : sata_promise
>  >  > > ata6: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe200 irq 17
>  >  > > ata7: SATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe280 irq 17
>  >  > > ata8: PATA max UDMA/133 mmio m4096@0xfbefe000 ata 0xfbefe300 irq 17
>  >  > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
>  >  > > ata6.00: ATAPI: HL-DT-ST DVDRAM GH22NS40, NL01, max UDMA/100
>  >  > > ata6.00: configured for UDMA/100
>  >  > > scsi 5:0:0:0: CD-ROM HL-DT-ST DVDRAM GH22NS40 NL01 PQ: 0 ANSI: 5
>  >  > > sr0: scsi3-mmc drive: 125x/125x writer dvd-ram cd/rw xa/form2 cdda tray
>  >  > > sr 5:0:0:0: Attached scsi CD-ROM sr0
>  >  > > sr 5:0:0:0: Attached scsi generic sg2 type 5
>  >  > > ata7: SATA link down (SStatus 0 SControl 300)
>  >  > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
>  >  > > ata6.00: port_status 0x20280000
>  >  > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 40 00
>  >  > > ata6.00: cmd a0/01:00:00:00:fc/00:00:00:00:00/a0 tag 0 dma 131072 in
>  >  > > res 51/54:03:00:00:fc/00:00:00:00:00/e0 Emask 0x2 (HSM violation)
>  >  > > ata6.00: status: { DRDY ERR }
>  >  > > ata6: hard resetting link
>  >  > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
>  >  > > ata6.00: configured for UDMA/100
>  >  > > ata6: EH complete
>  >  > > ...
>  >  > > <period, ~10 times in series>
>  >  > > ...
>  >  > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
>  >  > > ata6.00: port_status 0x20280000
>  >  > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00
>  >  > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in
>  >  > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation)
>  >  > > ata6.00: status: { DRDY ERR }
>  >  > > ata6: hard resetting link
>  >  > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
>  >  > > ata6.00: configured for UDMA/100
>  >  > > ata6: EH complete
>  >  > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
>  >  > > ata6.00: port_status 0x20280000
>  >  > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00
>  >  > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in
>  >  > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation)
>  >  > > ata6.00: status: { DRDY ERR }
>  >  > > ata6: hard resetting link
>  >  > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
>  >  > > ata6.00: configured for UDMA/100
>  >  > > ata6: EH complete
>  >  > > ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
>  >  > > ata6.00: port_status 0x20280000
>  >  > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00
>  >  > > ata6.00: cmd a0/01:00:00:00:10/00:00:00:00:00/a0 tag 0 dma 4096 in
>  >  > > res 51/54:03:00:00:10/00:00:00:00:00/e0 Emask 0x2 (HSM violation)
>  >  > > ata6.00: status: { DRDY ERR }
>  >  > > ata6: hard resetting link
>  >  > > ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
>  >  > > ata6.00: configured for UDMA/100
>  >  > > sr 5:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08
>  >  > > sr 5:0:0:0: [sr0] Sense Key : 0x5 [current] Info fld=0x0
>  >  > > sr 5:0:0:0: [sr0] ASC=0x21 ASCQ=0x0
>  >  > > sr 5:0:0:0: [sr0] CDB: cdb[0]=0x28: 28 00 00 00 00 00 00 00 02 00
>  >  > 
>  >  > Well, it's a READ command, and the response is "LOGICAL BLOCK ADDRESS 
>  >  > OUT OF RANGE". Seems reasonable if it's a blank disc in the drive (is it?)
>  >  > 
>  >  > According to the code comments in sata_promise, "overrun error" means 
>  >  > the S/G byte count was larger than the drive requires. Which I suppose 
>  >  > would happen here, because the drive didn't actually transfer any data. 
>  >  > sata_promise raises an HSM error on that though which triggers resets 
>  >  > and such. Seems like an overreaction, for ATAPI commands anyway, as that 
>  >  > can happen normally. CCing Mikael.
>  > 
>  > Thanks for the report. I'll try to come up with a patch to reduce
>  > the severity of overruns to something less than HSM.
> 
> I've looked at the available AC_ERR_ values and how they're treated by
> libata-eh, and to avoid resets but allow for retries it seems that one
> should use AC_ERR_OTHER, or possibly AC_ERR_DEV, or possibly no AC_ERR_
> at all (i.e., zero). So please first try the patch below. If it doesn't
> eliminate the reset loop, change the AC_ERR_OTHER to AC_ERR_DEV and try
> again. And if that one still causes reset loops, try a plain 0.
> 
> /Mikael
> 
> --- linux-2.6.32/drivers/ata/sata_promise.c.~1~	2009-12-03 12:38:32.000000000 +0100
> +++ linux-2.6.32/drivers/ata/sata_promise.c	2010-01-03 22:08:08.000000000 +0100
> @@ -862,7 +862,7 @@ static void pdc_error_intr(struct ata_po
>  	if (port_status & PDC_DRIVE_ERR)
>  		ac_err_mask |= AC_ERR_DEV;
>  	if (port_status & (PDC_OVERRUN_ERR | PDC_UNDERRUN_ERR))
> -		ac_err_mask |= AC_ERR_HSM;
> +		ac_err_mask |= AC_ERR_OTHER; /* or AC_ERR_DEV, or zero */
>  	if (port_status & (PDC2_ATA_HBA_ERR | PDC2_ATA_DMA_CNT_ERR))
>  		ac_err_mask |= AC_ERR_ATA_BUS;
>  	if (port_status & (PDC_PH_ERR | PDC_SH_ERR | PDC_DH_ERR | PDC2_HTO_ERR
> 

FIXED with AC_ERR_OTHER.
TESTED Drive reads and writes media fine.

Many Thanks :-)

y
tom

  reply	other threads:[~2010-01-04  2:00 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-27 20:37 HSM violations from ATA PACKET cmd ABRT errors in initial comms with LG GH22 SATA DVDRW thomas schorpp
2009-12-27 21:43 ` Robert Hancock
2009-12-28 23:44   ` Mikael Pettersson
2009-12-29  9:06     ` thomas schorpp
2009-12-30 22:40     ` thomas schorpp
2009-12-31 11:55     ` thomas schorpp
2010-01-03 21:36     ` Mikael Pettersson
2010-01-04  2:00       ` thomas schorpp [this message]
2010-01-04  9:22         ` Mikael Pettersson
2010-01-04 21:06           ` thomas schorpp
2010-01-20  3:00       ` Tejun Heo
2010-01-20  7:57         ` thomas schorpp
2010-01-20  8:51           ` Tejun Heo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B414BCF.1020607@gmail.com \
    --to=thomas.schorpp@googlemail.com \
    --cc=hancockrwd@gmail.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=mikpe@it.uu.se \
    --cc=thomas.schorpp@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.