On Wed, Feb 23, 2022 at 09:44:32PM +0000, David Laight wrote: > From: Andy Shevchenko > > Sent: 23 February 2022 18:54 > > > > While in this particular case it would not be a (critical) issue, > > the pattern itself is bad and error prone in case somebody blindly > > copies to their code. > > It is horribly wrong on BE systems. You mean the pattern? Yes, it has three issues regarding to endianess and potential out of boundary access. ... > > - return handled; > > + return IRQ_RETVAL(!bitmap_empty(pending, CCE_NUM_INT_CSRS * 64)); > You really don't want to scan the bitmap again. Either way it wastes cycles, the outcome depends on the actual distribution of the interrupts across the bitmap. If it gathered closer to the beginning of the bitmap, my code wins, otherwise the original ones. > Actually, of the face of it, you could merge the two loops. > Provided you clear the status bit before calling the relevant > handler I expect it will all work. True. I will consider that for v2. -- With Best Regards, Andy Shevchenko