diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-20 10:26:46 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-20 10:26:46 -0800 |
commit | 91aa69315ef9a76b8f734438617a2e32812b630f (patch) | |
tree | b97040209da15734102f1a40589db887b4c2b06f /drivers/net/hamradio | |
parent | a5527c6a586537c1af7ae6db30bb444ee4abdfe8 (diff) | |
parent | 6606e17a7f1c3bc1b1e83d0c517f11d094e55bf1 (diff) |
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (21 commits)
natsemi: Support Aculab E1/T1 PMXc cPCI carrier cards
natsemi: Add support for using MII port with no PHY
skge: race with workq and RTNL
Replace local random function with random32()
s2io: RTNL and flush_scheduled_work deadlock
8139too: RTNL and flush_scheduled_work deadlock
sis190: RTNL and flush_scheduled_work deadlock
r8169: RTNL and flush_scheduled_work deadlock
[PATCH] ieee80211softmac: Fix setting of initial transmit rates
[PATCH] bcm43xx: OFDM fix for rev 1 cards
[PATCH] bcm43xx: Fix for 4311 and 02/07/07 specification changes
[PATCH] prism54: correct assignment of DOT1XENABLE in WE-19 codepaths
[PATCH] zd1211rw: Readd zd_addr_t cast
[PATCH] bcm43xx: Fix for oops on resume
[PATCH] bcm43xx: Ignore ampdu status reports
[PATCH] wavelan: Use ARRAY_SIZE macro when appropriate
[PATCH] hostap: Use ARRAY_SIZE macro when appropriate
[PATCH] misc-wireless: Use ARRAY_SIZE macro when appropriate
[PATCH] ipw2100: Use ARRAY_SIZE macro when appropriate
[PATCH] bcm43xx: Janitorial change - remove two unused variables
...
Diffstat (limited to 'drivers/net/hamradio')
-rw-r--r-- | drivers/net/hamradio/baycom_epp.c | 13 | ||||
-rw-r--r-- | drivers/net/hamradio/hdlcdrv.c | 13 | ||||
-rw-r--r-- | drivers/net/hamradio/yam.c | 11 |
3 files changed, 6 insertions, 31 deletions
diff --git a/drivers/net/hamradio/baycom_epp.c b/drivers/net/hamradio/baycom_epp.c index 153b6dc80af..84aa2117c0e 100644 --- a/drivers/net/hamradio/baycom_epp.c +++ b/drivers/net/hamradio/baycom_epp.c @@ -52,6 +52,7 @@ #include <linux/hdlcdrv.h> #include <linux/baycom.h> #include <linux/jiffies.h> +#include <linux/random.h> #include <net/ax25.h> #include <asm/uaccess.h> @@ -433,16 +434,6 @@ static void encode_hdlc(struct baycom_state *bc) /* ---------------------------------------------------------------------- */ -static unsigned short random_seed; - -static inline unsigned short random_num(void) -{ - random_seed = 28629 * random_seed + 157; - return random_seed; -} - -/* ---------------------------------------------------------------------- */ - static int transmit(struct baycom_state *bc, int cnt, unsigned char stat) { struct parport *pp = bc->pdev->port; @@ -464,7 +455,7 @@ static int transmit(struct baycom_state *bc, int cnt, unsigned char stat) if ((--bc->hdlctx.slotcnt) > 0) return 0; bc->hdlctx.slotcnt = bc->ch_params.slottime; - if ((random_num() % 256) > bc->ch_params.ppersist) + if ((random32() % 256) > bc->ch_params.ppersist) return 0; } } diff --git a/drivers/net/hamradio/hdlcdrv.c b/drivers/net/hamradio/hdlcdrv.c index 452873e7c68..f5a17ad9d3d 100644 --- a/drivers/net/hamradio/hdlcdrv.c +++ b/drivers/net/hamradio/hdlcdrv.c @@ -56,6 +56,7 @@ #include <linux/if_arp.h> #include <linux/skbuff.h> #include <linux/hdlcdrv.h> +#include <linux/random.h> #include <net/ax25.h> #include <asm/uaccess.h> @@ -371,16 +372,6 @@ static void start_tx(struct net_device *dev, struct hdlcdrv_state *s) /* ---------------------------------------------------------------------- */ -static unsigned short random_seed; - -static inline unsigned short random_num(void) -{ - random_seed = 28629 * random_seed + 157; - return random_seed; -} - -/* ---------------------------------------------------------------------- */ - void hdlcdrv_arbitrate(struct net_device *dev, struct hdlcdrv_state *s) { if (!s || s->magic != HDLCDRV_MAGIC || s->hdlctx.ptt || !s->skb) @@ -396,7 +387,7 @@ void hdlcdrv_arbitrate(struct net_device *dev, struct hdlcdrv_state *s) if ((--s->hdlctx.slotcnt) > 0) return; s->hdlctx.slotcnt = s->ch_params.slottime; - if ((random_num() % 256) > s->ch_params.ppersist) + if ((random32() % 256) > s->ch_params.ppersist) return; start_tx(dev, s); } diff --git a/drivers/net/hamradio/yam.c b/drivers/net/hamradio/yam.c index 08f27119a80..ee3ea4fa729 100644 --- a/drivers/net/hamradio/yam.c +++ b/drivers/net/hamradio/yam.c @@ -50,6 +50,7 @@ #include <linux/slab.h> #include <linux/errno.h> #include <linux/bitops.h> +#include <linux/random.h> #include <asm/io.h> #include <asm/system.h> #include <linux/interrupt.h> @@ -566,14 +567,6 @@ static void yam_start_tx(struct net_device *dev, struct yam_port *yp) ptt_on(dev); } -static unsigned short random_seed; - -static inline unsigned short random_num(void) -{ - random_seed = 28629 * random_seed + 157; - return random_seed; -} - static void yam_arbitrate(struct net_device *dev) { struct yam_port *yp = netdev_priv(dev); @@ -600,7 +593,7 @@ static void yam_arbitrate(struct net_device *dev) yp->slotcnt = yp->slot / 10; /* is random > persist ? */ - if ((random_num() % 256) > yp->pers) + if ((random32() % 256) > yp->pers) return; yam_start_tx(dev, yp); |