From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
To: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Cc: linux-ide@vger.kernel.org
Subject: Re: [PATCH 4/15] ide: remove atapi_error_t
Date: Sun, 04 Nov 2007 16:05:05 +0300 [thread overview]
Message-ID: <472DC381.2010307@ru.mvista.com> (raw)
In-Reply-To: <200711022104.16206.bzolnier@gmail.com>
Bartlomiej Zolnierkiewicz wrote:
>>>Index: b/drivers/ide/ide-lib.c
>>>===================================================================
>>>--- a/drivers/ide/ide-lib.c
>>>+++ b/drivers/ide/ide-lib.c
>>[...]
>>>@@ -576,19 +575,19 @@ static u8 ide_dump_atapi_status(ide_driv
>>> }
>>> printk("}\n");
>>> if ((stat & (BUSY_STAT|ERR_STAT)) == ERR_STAT) {
>>>- error.all = HWIF(drive)->INB(IDE_ERROR_REG);
>>>- printk("%s: %s: error=0x%02x { ", drive->name, msg, error.all);
>>>- if (error.b.ili) printk("IllegalLengthIndication ");
>>>- if (error.b.eom) printk("EndOfMedia ");
>>>- if (error.b.abrt) printk("AbortedCommand ");
>>>- if (error.b.mcr) printk("MediaChangeRequested ");
>>>- if (error.b.sense_key) printk("LastFailedSense=0x%02x ",
>>>- error.b.sense_key);
>>>+ err = drive->hwif->INB(IDE_ERROR_REG);
>>>+ printk("%s: %s: error=0x%02x { ", drive->name, msg, err);
>>>+ if (err & MARK_ERR) printk("IllegalLengthIndication ");
>>>+ if (err & TRK0_ERR) printk("EndOfMedia ");
>>>+ if (err & ABRT_ERR) printk("AbortedCommand ");
>>>+ if (err & MCR_ERR) printk("MediaChangeRequested ");
>>>+ if (err & 0xf0) printk("LastFailedSense=0x%02x ",
>>>+ (err & 0xf0) >> 4);
>> I'd rather prefer that the ATAPI bit definitions be added to
>><linux/hdreg.h> -- the ATAPI sector count register fields definitions are
>>already there...
> Yeah, that should do it:
> [PATCH] ide: remove atapi_error_t (take 2)
> Remove atapi_error_t.
> While at it:
> * replace 'HWIF(drive)' by 'drive->hwif'
> v2:
> * Add {ILI,EOM,LFS}_ERR defines to <linux/hdreg.h>.
> Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
> Index: b/drivers/ide/ide-lib.c
> ===================================================================
> --- a/drivers/ide/ide-lib.c
> +++ b/drivers/ide/ide-lib.c
[...]
> @@ -576,19 +575,19 @@ static u8 ide_dump_atapi_status(ide_driv
> }
> printk("}\n");
> if ((stat & (BUSY_STAT|ERR_STAT)) == ERR_STAT) {
> - error.all = HWIF(drive)->INB(IDE_ERROR_REG);
> - printk("%s: %s: error=0x%02x { ", drive->name, msg, error.all);
> - if (error.b.ili) printk("IllegalLengthIndication ");
> - if (error.b.eom) printk("EndOfMedia ");
> - if (error.b.abrt) printk("AbortedCommand ");
> - if (error.b.mcr) printk("MediaChangeRequested ");
> - if (error.b.sense_key) printk("LastFailedSense=0x%02x ",
> - error.b.sense_key);
> + err = drive->hwif->INB(IDE_ERROR_REG);
> + printk("%s: %s: error=0x%02x { ", drive->name, msg, err);
> + if (err & ILI_ERR) printk("IllegalLengthIndication ");
> + if (err & EOM_ERR) printk("EndOfMedia ");
> + if (err & ABRT_ERR) printk("AbortedCommand ");
> + if (err & MCR_ERR) printk("MediaChangeRequested ");
Well, actually MCR bit is not defined for ATAPI (this condition should be
reported via REQUEST SENSE I guess).
> + if (err & LFS_ERR) printk("LastFailedSense=0x%02x ",
> + (err & LFS_ERR) >> 4);
> ===================================================================
> --- a/include/linux/hdreg.h
> +++ b/include/linux/hdreg.h
[...]
> @@ -52,6 +54,7 @@
> #define ECC_ERR 0x40 /* Uncorrectable ECC error */
> #define BBD_ERR 0x80 /* pre-EIDE meaning: block marked bad */
> #define ICRC_ERR 0x80 /* new meaning: CRC error during transfer */
> +#define LFS_ERR 0xf0 /* Last Failed Sense (ATAPI) */
Well, the field name is actually just "sense key"...
MBR, Sergei
prev parent reply other threads:[~2007-11-04 13:04 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-30 23:25 [PATCH 4/15] ide: remove atapi_error_t Bartlomiej Zolnierkiewicz
2007-11-01 18:47 ` Sergei Shtylyov
2007-11-02 20:04 ` Bartlomiej Zolnierkiewicz
2007-11-04 13:05 ` Sergei Shtylyov [this message]
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=472DC381.2010307@ru.mvista.com \
--to=sshtylyov@ru.mvista.com \
--cc=bzolnier@gmail.com \
--cc=linux-ide@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).