Rev 623 | Rev 1104 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 623 | Rev 625 | ||
---|---|---|---|
Line 59... | Line 59... | ||
59 | static void failed(void); |
59 | static void failed(void); |
60 | 60 | ||
61 | __u32 random(__u32 max) |
61 | __u32 random(__u32 max) |
62 | { |
62 | { |
63 | __u32 rc; |
63 | __u32 rc; |
64 | ipl_t ipl; |
- | |
65 | 64 | ||
66 | spinlock_lock(&lock); |
65 | spinlock_lock(&lock); |
67 | rc = seed % max; |
66 | rc = seed % max; |
68 | seed = (((seed<<2) ^ (seed>>2)) * 487) + rc; |
67 | seed = (((seed<<2) ^ (seed>>2)) * 487) + rc; |
69 | spinlock_unlock(&lock); |
68 | spinlock_unlock(&lock); |