Skip to content

Commit

Permalink
auxdisplay: charlcd: delete mdelay in long_sleep
Browse files Browse the repository at this point in the history
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.

Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
  • Loading branch information
Jia-Ju Bai authored and Miguel Ojeda committed Aug 1, 2018
1 parent acb1872 commit 1716139
Showing 1 changed file with 1 addition and 4 deletions.
5 changes: 1 addition & 4 deletions drivers/auxdisplay/charlcd.c
Original file line number Diff line number Diff line change
Expand Up @@ -99,10 +99,7 @@ static atomic_t charlcd_available = ATOMIC_INIT(1);
/* sleeps that many milliseconds with a reschedule */
static void long_sleep(int ms)
{
if (in_interrupt())
mdelay(ms);
else
schedule_timeout_interruptible(msecs_to_jiffies(ms));
schedule_timeout_interruptible(msecs_to_jiffies(ms));
}

/* turn the backlight on or off */
Expand Down

0 comments on commit 1716139

Please sign in to comment.