Hi! > > > > Actually, I was wrong. irqlock protection is needed, since > > stmmac_tx_clean() is called from timer, and that's interrupt context, > > as you can confirm using BUG_ON(in_interrupt()); > > > > in_interrupt() can mean both softirq and hardirq context. In this case it > means softirq. So I guess you were right before, and no irq locking is needed.
Are you absolutely sure? Because my testing seems to indicate otherwise (but I may have made a mistake). According to https://www.kernel.org/pub/linux/kernel/people/rusty/kernel-locking/c214.html we need spin_lock_bh at minimum, as we are locking user context against timer. Best regards, Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
signature.asc
Description: Digital signature