Skip to contentSkip to conversation

polling loops: change exit condition to

PATCH In review Marcin Slusarz 1 participant 1 message Dec 4, 2005

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

PATCH 16/21 polling loops: change exit condition to

PCMCIA SUBSYSTEM
P: Linux PCMCIA Team
L: http://lists.infradead.org/mailman/listinfo/linux-pcmcia

drivers/pcmcia/cs.c +8 -4
diff -upr -X linux-2.6.15-rc4/Documentation/dontdiff linux-2.6.15-rc4-orig/drivers/pcmcia/cs.c linux-2.6.15-rc4/drivers/pcmcia/cs.c
@@ -396,7 +396,8 @@ static void socket_shutdown(struct pcmci
 
 static int socket_reset(struct pcmcia_socket *skt)
 {
-	int status, i;
+	int status;
+	unsigned long end_time;
 
 	cs_dbg(skt, 4, "reset\n");
 
@@ -408,7 +409,8 @@ static int socket_reset(struct pcmcia_so
 	skt->ops->set_socket(skt, &skt->socket);
 
 	msleep(unreset_delay * 10);
-	for (i = 0; i < unreset_limit; i++) {
+	end_time = jiffies + msecs_to_jiffies(unreset_limit * unreset_check * 10);
+	while (time_before(jiffies, end_time)) {
 		skt->ops->get_status(skt, &status);
 
 		if (!(status & SS_DETECT))
@@ -426,7 +428,8 @@ static int socket_reset(struct pcmcia_so
 
 static int socket_setup(struct pcmcia_socket *skt, int initial_delay)
 {
-	int status, i;
+	int status;
+	unsigned long end_time;
 
 	cs_dbg(skt, 4, "setup\n");
 
@@ -436,7 +439,8 @@ static int socket_setup(struct pcmcia_so
 
 	msleep(initial_delay * 10);
 
-	for (i = 0; i < 100; i++) {
+	end_time = jiffies + msecs_to_jiffies(10000);
+	while (time_before(jiffies, end_time)) {
 		skt->ops->get_status(skt, &status);
 		if (!(status & SS_DETECT))
 			return CS_NO_CARD;

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