linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Commit 54c38444fad6a99b4b19512f8f0055d69115e69e
@ 2009-09-16 11:56 Tejun Heo
  2009-09-17  7:11 ` Jeff Garzik
  0 siblings, 1 reply; 3+ messages in thread
From: Tejun Heo @ 2009-09-16 11:56 UTC (permalink / raw)
  To: Jeff Garzik, IDE/ATA development list

Jeff,

Commit 54c38444fad6a99b4b19512f8f0055d69115e69e triggers
WARN_ON_ONCE(ap->pflags & ATA_PFLAG_FROZEN); in ata_qc_complete().
>From the commit history, it seems the change was to add DMA engine
disable to sil_freeze(), right?  I can't see why changing the orders
would matter there.  ata_port_abort() just changes the internal state
of libata and doesn't affect low level driver or the hardware.
Whether doing it before or after __ata_port_freeze() shouldn't make
any different to sata_sil's freeze callback.  Am I missing something?

Thanks.

-- 
tejun

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Commit 54c38444fad6a99b4b19512f8f0055d69115e69e
  2009-09-16 11:56 Commit 54c38444fad6a99b4b19512f8f0055d69115e69e Tejun Heo
@ 2009-09-17  7:11 ` Jeff Garzik
  2009-09-17  7:30   ` Tejun Heo
  0 siblings, 1 reply; 3+ messages in thread
From: Jeff Garzik @ 2009-09-17  7:11 UTC (permalink / raw)
  To: Tejun Heo; +Cc: IDE/ATA development list

On 09/16/2009 07:56 AM, Tejun Heo wrote:
> Jeff,
>
> Commit 54c38444fad6a99b4b19512f8f0055d69115e69e triggers
> WARN_ON_ONCE(ap->pflags&  ATA_PFLAG_FROZEN); in ata_qc_complete().
>> From the commit history, it seems the change was to add DMA engine
> disable to sil_freeze(), right?  I can't see why changing the orders
> would matter there.  ata_port_abort() just changes the internal state
> of libata and doesn't affect low level driver or the hardware.

ata_port_abort does more than change internal state:  it calls 
ata_qc_complete, which could trigger a taskfile register read.

All SFF BMDMA controllers /must/ disable the DMA engine, before touching 
the taskfile device register block.

	Jeff



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Commit 54c38444fad6a99b4b19512f8f0055d69115e69e
  2009-09-17  7:11 ` Jeff Garzik
@ 2009-09-17  7:30   ` Tejun Heo
  0 siblings, 0 replies; 3+ messages in thread
From: Tejun Heo @ 2009-09-17  7:30 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: IDE/ATA development list

Jeff Garzik wrote:
> On 09/16/2009 07:56 AM, Tejun Heo wrote:
>> Jeff,
>>
>> Commit 54c38444fad6a99b4b19512f8f0055d69115e69e triggers
>> WARN_ON_ONCE(ap->pflags&  ATA_PFLAG_FROZEN); in ata_qc_complete().
>>> From the commit history, it seems the change was to add DMA engine
>> disable to sil_freeze(), right?  I can't see why changing the orders
>> would matter there.  ata_port_abort() just changes the internal state
>> of libata and doesn't affect low level driver or the hardware.
> 
> ata_port_abort does more than change internal state:  it calls
> ata_qc_complete, which could trigger a taskfile register read.
> 
> All SFF BMDMA controllers /must/ disable the DMA engine, before touching
> the taskfile device register block.

Ah.. right, the result tf filling.  Well, then, I guess we'll have to
move the WARN_ON_ONCE().  I'll post a patch soon.

Thanks.

-- 
tejun

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-09-17  7:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-16 11:56 Commit 54c38444fad6a99b4b19512f8f0055d69115e69e Tejun Heo
2009-09-17  7:11 ` Jeff Garzik
2009-09-17  7:30   ` Tejun Heo

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).