Re: [PATCH 1/2] hp100: Fix a possible sleep-in-atomic bug in hp100_login_to_vg_hub

From: Jia-Ju Bai
Date: Wed Dec 13 2017 - 22:31:22 EST


Sorry, I made a mistake in last e-mail.

Maybe "mdelay(1000/HZ)" or "udelay(1000000/HZ)" .
Which one do you think is right?


Thanks,
Jia-Ju Bai

On 2017/12/14 11:13, Jia-Ju Bai wrote:
Thanks for reply :)
I think I should use "udelay(100000/HZ)" instead, do you think it is right?


Thanks,
Jia-Ju Bai


On 2017/12/14 5:20, David Miller wrote:
I want you to review all of your patches and resend them after you
have checked them carefully.

The first patch I even looked at, this one, is buggy.

You changed a schedule_timeout_interruptible(1) into a udelay(10)

That's not right.

schedule_timeout_interruptible() takes a "jiffies" argument, which
is a completely different unit than udelay() takes. You would have
to scale the argument to udelay() in some way using HZ.

Furthermore, the udelay argument you would come up with would
be way too long to be appropirate in this atomic context.

That's why the code tries to use a sleeping timeout, a long wait is
necessary here.