On Tue, 9 Feb 2021, Song Bao Hua (Barry Song) wrote:
sonic_interrupt() uses an irq lock within an interrupt handler to
avoid issues relating to this. This kind of locking may be needed in
the drivers you are trying to patch. Or it might not. Apparently,
no-one has looked.
Is the comment in sonic_interrupt() outdated according to this:
m68k: irq: Remove IRQF_DISABLED
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=77a4279
http://lkml.iu.edu/hypermail/linux/kernel/1109.2/01687.html
The removal of IRQF_DISABLED isn't relevant to this driver. Commit
77a42796786c ("m68k: Remove deprecated IRQF_DISABLED") did not disable
interrupts, it just removed some code to enable them.
The code and comments in sonic_interrupt() are correct. You can confirm
this for yourself quite easily using QEMU and a cross-compiler.
and this:
genirq: Warn when handler enables interrupts
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b738a50a
wouldn't genirq report a warning on m68k?
There is no warning from m68k builds. That's because arch_irqs_disabled()
returns true when the IPL is non-zero.
Thanks
Barry
Thanks
Barry