Message ID | CAMHSBOU+XHaFn_HtDTdvPr-sHEGS9MsYgCG9dUk71hLZJDaRow@mail.gmail.com |
---|---|
State | Not Applicable |
Delegated to: | David Miller |
Headers | show |
On 11-07-14 03:19 AM, Gwendal Grignou wrote: > 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. It's broken when used with a Marvell PMP. Still works with other brands. Strange, that.
On Thu, Jul 14, 2011 at 12:19:16AM -0700, Gwendal Grignou wrote: > 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__); I can confirm this makes the warnings go away, thanks Gwendal. Marc
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__);