Hi, On Wed, Apr 21, 2021 at 07:19:33PM +0200, Carl Philipp Klemm wrote: > Tony Lindgren wrote: > > * zhuguangqing83@gmail.com [210421 14:38]: > > > From: Guangqing Zhu > > > > > > Fix invalid usage of a list_for_each_entry in cpcap_battery_irq_thread(). > > > Empty list or fully traversed list points to list head, which is not > > > NULL (and before the first element containing real data). > > > > > > Signed-off-by: Guangqing Zhu > > > --- > > > v2: > > > - Modify commit message and code as suggested by Sebastian. > > > > Thanks looks OK to me. Looks like there's no flag we need to set there when > > the entry is found, so this should do for the check. > > > > Hmm I wonder if this just might fix the issue where booting with a USB > > charger connected can hang.. > > > > Reviewed-by: Tony Lindgren > > Looks good to me, but dosent appear to solve the bootup bug. > > (this time reply all) > > Reviewed-by: Carl Philipp Klemm > Tested-by: Carl Philipp Klemm Thanks, queued. -- Sebastian > > > drivers/power/supply/cpcap-battery.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/power/supply/cpcap-battery.c b/drivers/power/supply/cpcap-battery.c > > > index 6d5bcdb9f45d..a3fc0084cda0 100644 > > > --- a/drivers/power/supply/cpcap-battery.c > > > +++ b/drivers/power/supply/cpcap-battery.c > > > @@ -786,7 +786,7 @@ static irqreturn_t cpcap_battery_irq_thread(int irq, void *data) > > > break; > > > } > > > > > > - if (!d) > > > + if (list_entry_is_head(d, &ddata->irq_list, node)) > > > return IRQ_NONE; > > > > > > latest = cpcap_battery_latest(ddata); > > > -- > > > 2.17.1 > > >