Use wait_event_interruptible_timeout() instead of the
deprecated interruptible_sleep_on_timeout(). Patch is compile-tested.
Signed-off-by: Nishanth Aravamudan <[EMAIL PROTECTED]>
Signed-off-by: Domen Puncer <[EMAIL PROTECTED]>
---
kj-domen/drivers/net/tokenring/lanstreamer.c | 44 +++++++++++----------------
1 files changed, 19 insertions(+), 25 deletions(-)
diff -puN
drivers/net/tokenring/lanstreamer.c~int_sleep_on-drivers_net_tokenring_lanstreamer
drivers/net/tokenring/lanstreamer.c
---
kj/drivers/net/tokenring/lanstreamer.c~int_sleep_on-drivers_net_tokenring_lanstreamer
2005-03-05 16:11:41.000000000 +0100
+++ kj-domen/drivers/net/tokenring/lanstreamer.c 2005-03-05
16:11:41.000000000 +0100
@@ -121,6 +121,7 @@
#include <linux/spinlock.h>
#include <linux/version.h>
#include <linux/bitops.h>
+#include <linux/wait.h>
#include <net/checksum.h>
@@ -669,17 +670,15 @@ static int streamer_open(struct net_devi
writew(LISR_SRB_CMD, streamer_mmio + LISR_SUM);
spin_unlock_irqrestore(&streamer_priv->streamer_lock, flags);
- while (streamer_priv->srb_queued) {
-
interruptible_sleep_on_timeout(&streamer_priv->srb_wait, 5 * HZ);
- if (signal_pending(current)) {
- printk(KERN_WARNING "%s: SRB timed out.\n",
dev->name);
- printk(KERN_WARNING "SISR=%x MISR=%x,
LISR=%x\n",
- readw(streamer_mmio + SISR),
- readw(streamer_mmio + MISR_RUM),
- readw(streamer_mmio + LISR));
- streamer_priv->srb_queued = 0;
- break;
- }
+ wait_event_interruptible_timeout(streamer_priv->srb_wait,
+ !streamer_priv->srb_queued, 5 * HZ);
+ if (signal_pending(current)) {
+ printk(KERN_WARNING "%s: SRB timed out.\n", dev->name);
+ printk(KERN_WARNING "SISR=%x MISR=%x, LISR=%x\n",
+ readw(streamer_mmio + SISR),
+ readw(streamer_mmio + MISR_RUM),
+ readw(streamer_mmio + LISR));
+ streamer_priv->srb_queued = 0;
}
#if STREAMER_DEBUG
@@ -1223,20 +1222,15 @@ static int streamer_close(struct net_dev
spin_unlock_irqrestore(&streamer_priv->streamer_lock, flags);
- while (streamer_priv->srb_queued)
- {
- interruptible_sleep_on_timeout(&streamer_priv->srb_wait,
- jiffies + 60 * HZ);
- if (signal_pending(current))
- {
- printk(KERN_WARNING "%s: SRB timed out.\n", dev->name);
- printk(KERN_WARNING "SISR=%x MISR=%x LISR=%x\n",
- readw(streamer_mmio + SISR),
- readw(streamer_mmio + MISR_RUM),
- readw(streamer_mmio + LISR));
- streamer_priv->srb_queued = 0;
- break;
- }
+ wait_event_interruptible_timeout(streamer_priv->srb_wait,
+ !streamer_priv->srb_queued, 60*HZ);
+ if (signal_pending(current)) {
+ printk(KERN_WARNING "%s: SRB timed out.\n", dev->name);
+ printk(KERN_WARNING "SISR=%x MISR=%x LISR=%x\n",
+ readw(streamer_mmio + SISR),
+ readw(streamer_mmio + MISR_RUM),
+ readw(streamer_mmio + LISR));
+ streamer_priv->srb_queued = 0;
}
streamer_priv->rx_ring_last_received =
(streamer_priv->rx_ring_last_received + 1) & (STREAMER_RX_RING_SIZE - 1);
_
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html