diff --git a/drivers/net/slip.c b/drivers/net/slip.c
index c79e0ad4ba027afd1f8807de71ea1bc0cab0e68e..16363b5c6f56ca95369af6a33b18feeae3bf050f 100644
--- a/drivers/net/slip.c
+++ b/drivers/net/slip.c
@@ -1383,10 +1383,8 @@ static void __exit slip_exit(void)
 	/* First of all: check for active disciplines and hangup them.
 	 */
 	do {
-		if (busy) {
-			set_current_state(TASK_INTERRUPTIBLE);
-			schedule_timeout(HZ / 10);
-		}
+		if (busy)
+			msleep_interruptible(100);
 
 		busy = 0;
 		for (i = 0; i < slip_maxdev; i++) {