On Mon, Jan 29, 2018 at 7:50 AM, Willy Tarreau <w...@1wt.eu> wrote: > Hi, > > On Fri, Jan 26, 2018 at 11:19:15PM +0800, Jia-Ju Bai wrote: >> The function long_sleep() calls mdelay() when in an interrupt handler. >> But only charlcd_clear_display() and charlcd_init_display calls >> long_sleep(), and my tool finds that the two functions >> are never called in an interrupt handler. >> Thus mdelay() and in_interrupt() are not necessary. >> >> This is found by a static analysis tool named DCNS written by myself. > > Looks good. This code is extremely old (started in 2.2) so I'm not > surprised at all that after many changes such parts are not used > anymore.
By the way, maybe msleep_interruptible() should be used instead? (since I guess you want a minimum time here, no?). It would also take care of the jiffies to ms conversion, so the whole long_jump could be removed. > > Acked-by: Willy Tarreau <w...@1wt.eu> > > Willy