Skip to contentSkip to conversation

net/s2io: replace schedule_timeout() with

PATCH New Nishanth Aravamudan 1 participant 1 message Feb 17, 2005

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 net/s2io: replace schedule_timeout() with

Quoted 7 lines · Ravinandan Arakali

Jeff,
I have just now sent you the below mentioned patch(It has the subject Multicast fix). Although the problem initially manifested as "IPv6 ping not working", root cause boiled down to driver incorrectly programming multicast addresses into the NIC's Rx filter.

BTW, the patch has been generated on top of Nishanth's patch.

Here is a fix patch, which prevents an unstoppable sleep from occurring. Now, the task can be woken by signals (Ctrl-C), etc. Generated in response to comments by Domen Puncer & Ravindan Arakali.

Thanks,
Nish

Description: Fix a bug in the patched s2io driver, which lead to an uninterruptible sleep lasting a *long* time. Instead, use msleep_interruptible() to allow wake-ups early via Ctrl-C and other signals.

drivers/net/s2io.c +2 -2
@@ -3297,9 +3297,9 @@ static int s2io_ethtool_idnic(struct net
 	}
 	mod_timer(&sp->id_timer, jiffies);
 	if (data)
-		msleep(data * 1000);
+		msleep_interruptible(data * 1000);
 	else
-		msleep(0xFFFFFFFF);
+		msleep_interruptible(0xFFFFFFFF);
 	del_timer_sync(&sp->id_timer);
 
 	if (CARDS_WITH_FAULTY_LINK_INDICATORS(subid)) {

_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors