Don Fry <[EMAIL PROTECTED]> :
[...]
> > No need to save/restore (it's true in pcnet32_{get_regs/suspend} too).
> 
> This lock is taken by the interrupt handler and my reading of
> spinlocks.txt says I do need to use spin_lock_irqsave unless I
> misunderstand.  The only spin_lock() is in the interrupt handler itself,
> all others are spin_lock_irqsave.

The poll() function is issued in an irq enabled context. The state to be
saved (in flags) is known thus the code can simply disable and enable the
irq.

[...]
> > Insert mmiowb():
> 
> Is this required in addition to the two outw() in write_csr?  There are
> rmb() and wmb() in the places that need them, but no mmiowb() anywhere.
> What are the factors for when mmiowb needs to be inserted?

They are explained in Documentation/memory-barriers.txt.

I doubt that many user would be hurt if the mmiowb() are not added :o)

-- 
Ueimor
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to