Auke Kok wrote:
Since data can never exceed u32, it can't even be larger than LONG_MAX/HZ.
Signed-off-by: Auke Kok <[EMAIL PROTECTED]>
Cc: [EMAIL PROTECTED]
---
drivers/net/pcnet32.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/net/pcnet32.c b/drivers/net/pcnet32.c
index ff92aca..3573e77 100644
--- a/drivers/net/pcnet32.c
+++ b/drivers/net/pcnet32.c
@@ -1101,9 +1101,8 @@ static int pcnet32_phys_id(struct net_device *dev, u32
data)
mod_timer(&lp->blink_timer, jiffies);
set_current_state(TASK_INTERRUPTIBLE);
- /* AV: the limit here makes no sense whatsoever */
- if ((!data) || (data > (u32) (MAX_SCHEDULE_TIMEOUT / HZ)))
- data = (u32) (MAX_SCHEDULE_TIMEOUT / HZ);
+ if (!data)
+ data = INT_MAX;
msleep_interruptible(data * 1000);
del_timer_sync(&lp->blink_timer);
Two comments:
1) I would prefer to pick a sane limit, like "1 day". The unit of
'data' is seconds, so IMO we should not allow stupid timeouts, much less
INT_MAX ones :) But hey, then again, maybe we should permit root to
hang themselves with own rope...
2) [tangent] someone really should add the obvious ssleep_interruptible()
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html