netdev
[Top] [All Lists]

Re: msleep_interruptible() in ethtool ioctl and keyboard input

To: "Venkatesan, Ganesh" <ganesh.venkatesan@xxxxxxxxx>
Subject: Re: msleep_interruptible() in ethtool ioctl and keyboard input
From: Nish Aravamudan <nish.aravamudan@xxxxxxxxx>
Date: Fri, 29 Apr 2005 11:40:19 -0700
Cc: linux-kernel@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxx
Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=GAXfSq8pvRLsGX47P/WoBOk1QbtGhjSUtYNg1hiRX98li6Li4XGysSB3f7KqCfZXoJfr/HhuXEQsuz6ASe/yjd2RTfOr5RZ0USdABJwBfIswELjTxwfpGICpUdxlhygBk2CrzzXMsDJqaroZa1lGs8190SMSQvZ2PNjnQ8nOUQI=
In-reply-to: <468F3FDA28AA87429AD807992E22D07E05195E08@orsmsx408>
References: <468F3FDA28AA87429AD807992E22D07E05195E08@orsmsx408>
Reply-to: Nish Aravamudan <nish.aravamudan@xxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
On 4/29/05, Venkatesan, Ganesh <ganesh.venkatesan@xxxxxxxxx> wrote:

<snip>
 
> Please send me comments/ideas for further tests/questions for more data.
> 
> Following is the logic that implements the blinking:

<snip>

> static int
> e1000_phys_id(struct net_device *netdev, uint32_t data)
> {
>         struct e1000_adapter *adapter = netdev->priv;
> 
>         if(!data || data > (uint32_t)(MAX_SCHEDULE_TIMEOUT / HZ))
>                 data = (uint32_t)(MAX_SCHEDULE_TIMEOUT / HZ);
> 
>         if(!adapter->blink_timer.function) {
>                 init_timer(&adapter->blink_timer);
>                 adapter->blink_timer.function =
> e1000_led_blink_callback;
>                 adapter->blink_timer.data = (unsigned long) adapter;
>         }
> 
>         e1000_setup_led(&adapter->hw);
>         mod_timer(&adapter->blink_timer, jiffies);

You really want this timer to go off immediately?

Regardless....

>         msleep_interruptible(data * 1000);

Does the same issue occur if you revert this change and make it

set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout(data * HZ);

?

Thanks,
Nish


<Prev in Thread] Current Thread [Next in Thread>