diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-18 21:02:35 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-18 21:02:35 -0400 |
commit | 334d094504c2fe1c44211ecb49146ae6bca8c321 (patch) | |
tree | d3c0f68e4b9f8e3d2ccc39e7dfe5de0534a5fad9 /drivers/net/wan | |
parent | d1a4be630fb068f251d64b62919f143c49ca8057 (diff) | |
parent | d1643d24c61b725bef399cc1cf2944b4c9c23177 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26: (1090 commits)
[NET]: Fix and allocate less memory for ->priv'less netdevices
[IPV6]: Fix dangling references on error in fib6_add().
[NETLABEL]: Fix NULL deref in netlbl_unlabel_staticlist_gen() if ifindex not found
[PKT_SCHED]: Fix datalen check in tcf_simp_init().
[INET]: Uninline the __inet_inherit_port call.
[INET]: Drop the inet_inherit_port() call.
SCTP: Initialize partial_bytes_acked to 0, when all of the data is acked.
[netdrvr] forcedeth: internal simplifications; changelog removal
phylib: factor out get_phy_id from within get_phy_device
PHY: add BCM5464 support to broadcom PHY driver
cxgb3: Fix __must_check warning with dev_dbg.
tc35815: Statistics cleanup
natsemi: fix MMIO for PPC 44x platforms
[TIPC]: Cleanup of TIPC reference table code
[TIPC]: Optimized initialization of TIPC reference table
[TIPC]: Remove inlining of reference table locking routines
e1000: convert uint16_t style integers to u16
ixgb: convert uint16_t style integers to u16
sb1000.c: make const arrays static
sb1000.c: stop inlining largish static functions
...
Diffstat (limited to 'drivers/net/wan')
-rw-r--r-- | drivers/net/wan/cosa.c | 14 | ||||
-rw-r--r-- | drivers/net/wan/dlci.c | 2 | ||||
-rw-r--r-- | drivers/net/wan/hdlc.c | 4 | ||||
-rw-r--r-- | drivers/net/wan/lapbether.c | 4 | ||||
-rw-r--r-- | drivers/net/wan/syncppp.c | 2 |
5 files changed, 14 insertions, 12 deletions
diff --git a/drivers/net/wan/cosa.c b/drivers/net/wan/cosa.c index 1d706eae3052..45ddfc9763cc 100644 --- a/drivers/net/wan/cosa.c +++ b/drivers/net/wan/cosa.c | |||
@@ -90,6 +90,7 @@ | |||
90 | #include <linux/ioport.h> | 90 | #include <linux/ioport.h> |
91 | #include <linux/netdevice.h> | 91 | #include <linux/netdevice.h> |
92 | #include <linux/spinlock.h> | 92 | #include <linux/spinlock.h> |
93 | #include <linux/mutex.h> | ||
93 | #include <linux/device.h> | 94 | #include <linux/device.h> |
94 | 95 | ||
95 | #undef COSA_SLOW_IO /* for testing purposes only */ | 96 | #undef COSA_SLOW_IO /* for testing purposes only */ |
@@ -127,7 +128,8 @@ struct channel_data { | |||
127 | int (*tx_done)(struct channel_data *channel, int size); | 128 | int (*tx_done)(struct channel_data *channel, int size); |
128 | 129 | ||
129 | /* Character device parts */ | 130 | /* Character device parts */ |
130 | struct semaphore rsem, wsem; | 131 | struct mutex rlock; |
132 | struct semaphore wsem; | ||
131 | char *rxdata; | 133 | char *rxdata; |
132 | int rxsize; | 134 | int rxsize; |
133 | wait_queue_head_t txwaitq, rxwaitq; | 135 | wait_queue_head_t txwaitq, rxwaitq; |
@@ -807,7 +809,7 @@ static struct net_device_stats *cosa_net_stats(struct net_device *dev) | |||
807 | 809 | ||
808 | static void chardev_channel_init(struct channel_data *chan) | 810 | static void chardev_channel_init(struct channel_data *chan) |
809 | { | 811 | { |
810 | init_MUTEX(&chan->rsem); | 812 | mutex_init(&chan->rlock); |
811 | init_MUTEX(&chan->wsem); | 813 | init_MUTEX(&chan->wsem); |
812 | } | 814 | } |
813 | 815 | ||
@@ -825,12 +827,12 @@ static ssize_t cosa_read(struct file *file, | |||
825 | cosa->name, cosa->firmware_status); | 827 | cosa->name, cosa->firmware_status); |
826 | return -EPERM; | 828 | return -EPERM; |
827 | } | 829 | } |
828 | if (down_interruptible(&chan->rsem)) | 830 | if (mutex_lock_interruptible(&chan->rlock)) |
829 | return -ERESTARTSYS; | 831 | return -ERESTARTSYS; |
830 | 832 | ||
831 | if ((chan->rxdata = kmalloc(COSA_MTU, GFP_DMA|GFP_KERNEL)) == NULL) { | 833 | if ((chan->rxdata = kmalloc(COSA_MTU, GFP_DMA|GFP_KERNEL)) == NULL) { |
832 | printk(KERN_INFO "%s: cosa_read() - OOM\n", cosa->name); | 834 | printk(KERN_INFO "%s: cosa_read() - OOM\n", cosa->name); |
833 | up(&chan->rsem); | 835 | mutex_unlock(&chan->rlock); |
834 | return -ENOMEM; | 836 | return -ENOMEM; |
835 | } | 837 | } |
836 | 838 | ||
@@ -848,7 +850,7 @@ static ssize_t cosa_read(struct file *file, | |||
848 | remove_wait_queue(&chan->rxwaitq, &wait); | 850 | remove_wait_queue(&chan->rxwaitq, &wait); |
849 | current->state = TASK_RUNNING; | 851 | current->state = TASK_RUNNING; |
850 | spin_unlock_irqrestore(&cosa->lock, flags); | 852 | spin_unlock_irqrestore(&cosa->lock, flags); |
851 | up(&chan->rsem); | 853 | mutex_unlock(&chan->rlock); |
852 | return -ERESTARTSYS; | 854 | return -ERESTARTSYS; |
853 | } | 855 | } |
854 | } | 856 | } |
@@ -857,7 +859,7 @@ static ssize_t cosa_read(struct file *file, | |||
857 | kbuf = chan->rxdata; | 859 | kbuf = chan->rxdata; |
858 | count = chan->rxsize; | 860 | count = chan->rxsize; |
859 | spin_unlock_irqrestore(&cosa->lock, flags); | 861 | spin_unlock_irqrestore(&cosa->lock, flags); |
860 | up(&chan->rsem); | 862 | mutex_unlock(&chan->rlock); |
861 | 863 | ||
862 | if (copy_to_user(buf, kbuf, count)) { | 864 | if (copy_to_user(buf, kbuf, count)) { |
863 | kfree(kbuf); | 865 | kfree(kbuf); |
diff --git a/drivers/net/wan/dlci.c b/drivers/net/wan/dlci.c index 96b232446c0b..b14242768fad 100644 --- a/drivers/net/wan/dlci.c +++ b/drivers/net/wan/dlci.c | |||
@@ -517,7 +517,7 @@ static int dlci_dev_event(struct notifier_block *unused, | |||
517 | { | 517 | { |
518 | struct net_device *dev = (struct net_device *) ptr; | 518 | struct net_device *dev = (struct net_device *) ptr; |
519 | 519 | ||
520 | if (dev->nd_net != &init_net) | 520 | if (dev_net(dev) != &init_net) |
521 | return NOTIFY_DONE; | 521 | return NOTIFY_DONE; |
522 | 522 | ||
523 | if (event == NETDEV_UNREGISTER) { | 523 | if (event == NETDEV_UNREGISTER) { |
diff --git a/drivers/net/wan/hdlc.c b/drivers/net/wan/hdlc.c index 39951d0c34d6..9a83c9d5b8cf 100644 --- a/drivers/net/wan/hdlc.c +++ b/drivers/net/wan/hdlc.c | |||
@@ -68,7 +68,7 @@ static int hdlc_rcv(struct sk_buff *skb, struct net_device *dev, | |||
68 | { | 68 | { |
69 | struct hdlc_device *hdlc = dev_to_hdlc(dev); | 69 | struct hdlc_device *hdlc = dev_to_hdlc(dev); |
70 | 70 | ||
71 | if (dev->nd_net != &init_net) { | 71 | if (dev_net(dev) != &init_net) { |
72 | kfree_skb(skb); | 72 | kfree_skb(skb); |
73 | return 0; | 73 | return 0; |
74 | } | 74 | } |
@@ -105,7 +105,7 @@ static int hdlc_device_event(struct notifier_block *this, unsigned long event, | |||
105 | unsigned long flags; | 105 | unsigned long flags; |
106 | int on; | 106 | int on; |
107 | 107 | ||
108 | if (dev->nd_net != &init_net) | 108 | if (dev_net(dev) != &init_net) |
109 | return NOTIFY_DONE; | 109 | return NOTIFY_DONE; |
110 | 110 | ||
111 | if (dev->get_stats != hdlc_get_stats) | 111 | if (dev->get_stats != hdlc_get_stats) |
diff --git a/drivers/net/wan/lapbether.c b/drivers/net/wan/lapbether.c index 824df3b5ea49..b5860b97a93e 100644 --- a/drivers/net/wan/lapbether.c +++ b/drivers/net/wan/lapbether.c | |||
@@ -91,7 +91,7 @@ static int lapbeth_rcv(struct sk_buff *skb, struct net_device *dev, struct packe | |||
91 | int len, err; | 91 | int len, err; |
92 | struct lapbethdev *lapbeth; | 92 | struct lapbethdev *lapbeth; |
93 | 93 | ||
94 | if (dev->nd_net != &init_net) | 94 | if (dev_net(dev) != &init_net) |
95 | goto drop; | 95 | goto drop; |
96 | 96 | ||
97 | if ((skb = skb_share_check(skb, GFP_ATOMIC)) == NULL) | 97 | if ((skb = skb_share_check(skb, GFP_ATOMIC)) == NULL) |
@@ -393,7 +393,7 @@ static int lapbeth_device_event(struct notifier_block *this, | |||
393 | struct lapbethdev *lapbeth; | 393 | struct lapbethdev *lapbeth; |
394 | struct net_device *dev = ptr; | 394 | struct net_device *dev = ptr; |
395 | 395 | ||
396 | if (dev->nd_net != &init_net) | 396 | if (dev_net(dev) != &init_net) |
397 | return NOTIFY_DONE; | 397 | return NOTIFY_DONE; |
398 | 398 | ||
399 | if (!dev_is_ethdev(dev)) | 399 | if (!dev_is_ethdev(dev)) |
diff --git a/drivers/net/wan/syncppp.c b/drivers/net/wan/syncppp.c index 61e24b7a45a3..29b4b94e4947 100644 --- a/drivers/net/wan/syncppp.c +++ b/drivers/net/wan/syncppp.c | |||
@@ -1444,7 +1444,7 @@ static void sppp_print_bytes (u_char *p, u16 len) | |||
1444 | 1444 | ||
1445 | static int sppp_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *p, struct net_device *orig_dev) | 1445 | static int sppp_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *p, struct net_device *orig_dev) |
1446 | { | 1446 | { |
1447 | if (dev->nd_net != &init_net) { | 1447 | if (dev_net(dev) != &init_net) { |
1448 | kfree_skb(skb); | 1448 | kfree_skb(skb); |
1449 | return 0; | 1449 | return 0; |
1450 | } | 1450 | } |