Re: msleep_interruptible() in ethtool ioctl and keyboard input
From: Nish Aravamudan
Date: Fri Apr 29 2005 - 13:43:02 EST
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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/