Re: [QUESTION] ATA: abnormal status 0x80 on port 0xCC07

From: Michal Piotrowski
Date: Tue Feb 06 2007 - 19:55:04 EST


On 07/02/07, Michal Piotrowski <michal.k.k.piotrowski@xxxxxxxxx> wrote:
On 06/02/07, Michal Piotrowski <michal.k.k.piotrowski@xxxxxxxxx> wrote:
[..]
> I'll revert this patch.
>
> commit 7a0f1c8a4b1052da7efc7715e2e557255b632712
> Author: Lennert Buytenhek <buytenh@xxxxxxxxxxxxxx>
> Date: Mon Jan 29 13:28:47 2007 +0100
>
> ata_if_xfermask() word 51 fix
>
> If word 53 bit 1 isn't set, the maximum PIO mode is indicated by
> the upper 8 bits of word 51, not the lower 8 bits. Fixes PIO mode
> detection on old Compact Flash cards.
>
> Signed-off-by: Lennert Buytenhek <buytenh@xxxxxxxxxxxxxx>
> Signed-off-by: Jeff Garzik <jeff@xxxxxxxxxx>
>

It's not this patch. Maybe this one?

commit 49c8042996c84f0df6c49ea2e28a7ef38cd7d773
Author: Brian King <brking@xxxxxxxxxxxxxxxxxx>
Date: Tue Jan 30 11:32:26 2007 -0600

libata: Initialize nbytes for internal sg commands

Some LLDDs, like ipr, use nbytes and pad_len to determine
the total data transfer length of a command. Make sure
nbytes gets initialized for internally generated commands.

Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jeff Garzik <jeff@xxxxxxxxxx>

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index cf70702..667acd2 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -1250,6 +1250,7 @@ unsigned ata_exec_internal_sg(struct ata

ata_sg_init(qc, sg, n_elem);
qc->nsect = buflen / ATA_SECT_SIZE;
+ qc->nbytes = buflen;
}

qc->private_data = &wait;

It has something to do with SCSI commands.

Kernel still hangs...

Regards,
Michal

--
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/