Skip to content

Commit

Permalink
Merge branch 'master' of ../net-2.6/
Browse files Browse the repository at this point in the history
Conflicts:

	net/ipv6/ndisc.c
  • Loading branch information
davem330 committed Mar 24, 2008
2 parents 9bd512f + 8f3ea33 commit 06802a8
Show file tree
Hide file tree
Showing 12 changed files with 43 additions and 57 deletions.
2 changes: 1 addition & 1 deletion drivers/connector/cn_queue.c
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ struct cn_queue_dev *cn_queue_alloc_dev(char *name, struct sock *nls)

dev->nls = nls;

dev->cn_queue = create_workqueue(dev->name);
dev->cn_queue = create_singlethread_workqueue(dev->name);
if (!dev->cn_queue) {
kfree(dev);
return NULL;
Expand Down
36 changes: 2 additions & 34 deletions drivers/net/bnx2x.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,8 @@
#include "bnx2x.h"
#include "bnx2x_init.h"

#define DRV_MODULE_VERSION "1.40.22"
#define DRV_MODULE_RELDATE "2007/11/27"
#define DRV_MODULE_VERSION "1.42.3"
#define DRV_MODULE_RELDATE "2008/3/9"
#define BNX2X_BC_VER 0x040200

/* Time in jiffies before concluding the transmitter is hung. */
Expand Down Expand Up @@ -8008,38 +8008,6 @@ static int bnx2x_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
cmd->duplex, cmd->port, cmd->phy_address, cmd->transceiver,
cmd->autoneg, cmd->maxtxpkt, cmd->maxrxpkt);

switch (cmd->port) {
case PORT_TP:
if (!(bp->supported & SUPPORTED_TP)) {
DP(NETIF_MSG_LINK, "TP not supported\n");
return -EINVAL;
}

if (bp->phy_flags & PHY_XGXS_FLAG) {
bnx2x_link_reset(bp);
bnx2x_link_settings_supported(bp, SWITCH_CFG_1G);
bnx2x_phy_deassert(bp);
}
break;

case PORT_FIBRE:
if (!(bp->supported & SUPPORTED_FIBRE)) {
DP(NETIF_MSG_LINK, "FIBRE not supported\n");
return -EINVAL;
}

if (!(bp->phy_flags & PHY_XGXS_FLAG)) {
bnx2x_link_reset(bp);
bnx2x_link_settings_supported(bp, SWITCH_CFG_10G);
bnx2x_phy_deassert(bp);
}
break;

default:
DP(NETIF_MSG_LINK, "Unknown port type\n");
return -EINVAL;
}

if (cmd->autoneg == AUTONEG_ENABLE) {
if (!(bp->supported & SUPPORTED_Autoneg)) {
DP(NETIF_MSG_LINK, "Aotoneg not supported\n");
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/sungem.c
Original file line number Diff line number Diff line change
Expand Up @@ -912,7 +912,7 @@ static int gem_poll(struct napi_struct *napi, int budget)
* rx ring - must call napi_disable(), which
* schedule_timeout()'s if polling is already disabled.
*/
work_done += gem_rx(gp, budget);
work_done += gem_rx(gp, budget - work_done);

if (work_done >= budget)
return work_done;
Expand Down
2 changes: 1 addition & 1 deletion include/net/sctp/sctp.h
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,7 @@ void sctp_v6_del_protocol(void);

#else /* #ifdef defined(CONFIG_IPV6) */

static inline void sctp_v6_pf_init(void) { return 0; }
static inline void sctp_v6_pf_init(void) { return; }
static inline void sctp_v6_pf_exit(void) { return; }
static inline int sctp_v6_protosw_init(void) { return 0; }
static inline void sctp_v6_protosw_exit(void) { return; }
Expand Down
2 changes: 0 additions & 2 deletions net/9p/trans_fd.c
Original file line number Diff line number Diff line change
Expand Up @@ -861,7 +861,6 @@ static void p9_mux_free_request(struct p9_conn *m, struct p9_req *req)

static void p9_mux_flush_cb(struct p9_req *freq, void *a)
{
p9_conn_req_callback cb;
int tag;
struct p9_conn *m;
struct p9_req *req, *rreq, *rptr;
Expand All @@ -872,7 +871,6 @@ static void p9_mux_flush_cb(struct p9_req *freq, void *a)
freq->tcall->params.tflush.oldtag);

spin_lock(&m->lock);
cb = NULL;
tag = freq->tcall->params.tflush.oldtag;
req = NULL;
list_for_each_entry_safe(rreq, rptr, &m->req_list, req_list) {
Expand Down
19 changes: 16 additions & 3 deletions net/atm/clip.c
Original file line number Diff line number Diff line change
Expand Up @@ -943,6 +943,8 @@ static const struct file_operations arp_seq_fops = {
};
#endif

static void atm_clip_exit_noproc(void);

static int __init atm_clip_init(void)
{
neigh_table_init_no_netlink(&clip_tbl);
Expand All @@ -959,18 +961,22 @@ static int __init atm_clip_init(void)
struct proc_dir_entry *p;

p = proc_create("arp", S_IRUGO, atm_proc_root, &arp_seq_fops);
if (!p) {
printk(KERN_ERR "Unable to initialize "
"/proc/net/atm/arp\n");
atm_clip_exit_noproc();
return -ENOMEM;
}
}
#endif

return 0;
}

static void __exit atm_clip_exit(void)
static void atm_clip_exit_noproc(void)
{
struct net_device *dev, *next;

remove_proc_entry("arp", atm_proc_root);

unregister_inetaddr_notifier(&clip_inet_notifier);
unregister_netdevice_notifier(&clip_dev_notifier);

Expand Down Expand Up @@ -1001,6 +1007,13 @@ static void __exit atm_clip_exit(void)
clip_tbl_hook = NULL;
}

static void __exit atm_clip_exit(void)
{
remove_proc_entry("arp", atm_proc_root);

atm_clip_exit_noproc();
}

module_init(atm_clip_init);
module_exit(atm_clip_exit);
MODULE_AUTHOR("Werner Almesberger");
Expand Down
4 changes: 4 additions & 0 deletions net/atm/lec.c
Original file line number Diff line number Diff line change
Expand Up @@ -1225,6 +1225,10 @@ static int __init lane_module_init(void)
struct proc_dir_entry *p;

p = proc_create("lec", S_IRUGO, atm_proc_root, &lec_seq_fops);
if (!p) {
printk(KERN_ERR "Unable to initialize /proc/net/atm/lec\n");
return -ENOMEM;
}
#endif

register_atm_ioctl(&lane_ioctl_ops);
Expand Down
7 changes: 5 additions & 2 deletions net/ipv4/fib_trie.c
Original file line number Diff line number Diff line change
Expand Up @@ -177,10 +177,13 @@ static inline struct tnode *node_parent_rcu(struct node *node)
return rcu_dereference(ret);
}

/* Same as rcu_assign_pointer
* but that macro() assumes that value is a pointer.
*/
static inline void node_set_parent(struct node *node, struct tnode *ptr)
{
rcu_assign_pointer(node->parent,
(unsigned long)ptr | NODE_TYPE(node));
smp_wmb();
node->parent = (unsigned long)ptr | NODE_TYPE(node);
}

static inline struct node *tnode_get_child(struct tnode *tn, unsigned int i)
Expand Down
2 changes: 1 addition & 1 deletion net/ipv4/ip_fragment.c
Original file line number Diff line number Diff line change
Expand Up @@ -568,7 +568,7 @@ int ip_defrag(struct sk_buff *skb, u32 user)

IP_INC_STATS_BH(IPSTATS_MIB_REASMREQDS);

net = skb->dev->nd_net;
net = skb->dev ? skb->dev->nd_net : skb->dst->dev->nd_net;
/* Start by cleaning up the memory. */
if (atomic_read(&net->ipv4.frags.mem) > net->ipv4.frags.high_thresh)
ip_evictor(net);
Expand Down
4 changes: 2 additions & 2 deletions net/ipv4/tcp.c
Original file line number Diff line number Diff line change
Expand Up @@ -735,7 +735,7 @@ static ssize_t do_tcp_sendpages(struct sock *sk, struct page **pages, int poffse
if (!(psize -= copy))
goto out;

if (skb->len < mss_now || (flags & MSG_OOB))
if (skb->len < size_goal || (flags & MSG_OOB))
continue;

if (forced_push(tp)) {
Expand Down Expand Up @@ -981,7 +981,7 @@ int tcp_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg,
if ((seglen -= copy) == 0 && iovlen == 0)
goto out;

if (skb->len < mss_now || (flags & MSG_OOB))
if (skb->len < size_goal || (flags & MSG_OOB))
continue;

if (forced_push(tp)) {
Expand Down
13 changes: 7 additions & 6 deletions net/sched/sch_htb.c
Original file line number Diff line number Diff line change
Expand Up @@ -711,9 +711,11 @@ static void htb_charge_class(struct htb_sched *q, struct htb_class *cl,
*/
static psched_time_t htb_do_events(struct htb_sched *q, int level)
{
int i;

for (i = 0; i < 500; i++) {
/* don't run for longer than 2 jiffies; 2 is used instead of
1 to simplify things when jiffy is going to be incremented
too soon */
unsigned long stop_at = jiffies + 2;
while (time_before(jiffies, stop_at)) {
struct htb_class *cl;
long diff;
struct rb_node *p = rb_first(&q->wait_pq[level]);
Expand All @@ -731,9 +733,8 @@ static psched_time_t htb_do_events(struct htb_sched *q, int level)
if (cl->cmode != HTB_CAN_SEND)
htb_add_to_wait_tree(q, cl, diff);
}
if (net_ratelimit())
printk(KERN_WARNING "htb: too many events !\n");
return q->now + PSCHED_TICKS_PER_SEC / 10;
/* too much load - let's continue on next jiffie */
return q->now + PSCHED_TICKS_PER_SEC / HZ;
}

/* Returns class->node+prio from id-tree where classe's id is >= id. NULL
Expand Down
7 changes: 3 additions & 4 deletions net/socket.c
Original file line number Diff line number Diff line change
Expand Up @@ -909,11 +909,10 @@ static long sock_ioctl(struct file *file, unsigned cmd, unsigned long arg)
if (!dlci_ioctl_hook)
request_module("dlci");

if (dlci_ioctl_hook) {
mutex_lock(&dlci_ioctl_mutex);
mutex_lock(&dlci_ioctl_mutex);
if (dlci_ioctl_hook)
err = dlci_ioctl_hook(cmd, argp);
mutex_unlock(&dlci_ioctl_mutex);
}
mutex_unlock(&dlci_ioctl_mutex);
break;
default:
err = sock->ops->ioctl(sock, cmd, arg);
Expand Down

0 comments on commit 06802a8

Please sign in to comment.