Thread (23 messages) 23 messages, 6 authors, 2011-07-22

Re: sata_mv WARNING: at drivers/ata/libata-sff.c:1322

From: Gwendal Grignou <hidden>
Date: 2011-07-14 07:19:22
Subsystem: libata subsystem (serial and parallel ata drivers), the rest · Maintainers: Damien Le Moal, Niklas Cassel, Linus Torvalds

Mark,

How PMP support with sata_mv broken for you? I am using marvell 7042
and sil3726 and it works fine, but I am still using 2.6.36.

Tejun, Marc,

I think what happen is if a command is canceled while waiting for
sff_pio_task to fire up, the warning may happen. The following patch
should fix it. Marc, can you reproduce the problem easily?

Thanks,
Gwendal.
diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c
index 996a7a5..c24127d 100644
--- a/drivers/ata/libata-sff.c
+++ b/drivers/ata/libata-sff.c
@@ -1333,6 +1333,7 @@ void ata_sff_flush_pio_task(struct ata_port *ap)

        cancel_delayed_work_sync(&ap->sff_pio_task);
        ap->hsm_task_state = HSM_ST_IDLE;
+       ap->sff_pio_task_link = NULL;

        if (ata_msg_ctl(ap))
                ata_port_dbg(ap, "%s: EXIT\n", __func__);

On Wed, Jul 13, 2011 at 3:41 PM, Mark Lord [off-list ref] wrote:
On 11-07-13 04:54 PM, Gwendal Grignou wrote:
quoted
I put the warning because a new pio task should not be queued while
another one is pending. Therefore, either sff_pio_task_link is NULL
[no task pending] or sff_pio_task_link is equal to the link of the
task [assumed to be the task in progress].
I must have missed something and did not cleanup sff_pio_task_link
properly in case of error...
..

I wonder if any of those changes are what broke PMP support?
I have a Marvell PMP here that used to work when I finished with sata_mv,
but no longer works with it now.

??
--
Mark Lord
Real-Time Remedies Inc.
mlord@pobox.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help