Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 15f7176e authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
  wireless: remove duplicated .ndo_set_mac_address
  netfilter: xtables: fix IPv6 dependency in the cluster match
  tg3: Add GRO support.
  niu: Add GRO support.
  ucc_geth: Fix use-after-of_node_put() in ucc_geth_probe().
  gianfar: Fix use-after-of_node_put() in gfar_of_init().
  kernel: remove HIPQUAD()
  netpoll: store local and remote ip in net-endian
  netfilter: fix endian bug in conntrack printks
  dmascc: fix incomplete conversion to network_device_ops
  gso: Fix support for linear packets
  skbuff.h: fix missing kernel-doc
  ni5010: convert to net_device_ops
parents d3d52d68 321dee6e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -289,9 +289,9 @@ static int gfar_of_init(struct net_device *dev)
		id = of_get_property(phy, "reg", NULL);

		of_node_put(phy);
		of_node_put(mdio);

		fsl_pq_mdio_bus_name(bus_name, mdio);
		of_node_put(mdio);
		snprintf(priv->phy_bus_id, sizeof(priv->phy_bus_id), "%s:%02x",
				bus_name, *id);
	}
+1 −1
Original line number Diff line number Diff line
@@ -445,6 +445,7 @@ static const struct net_device_ops scc_netdev_ops = {
	.ndo_stop = scc_close,
	.ndo_start_xmit = scc_send_packet,
	.ndo_do_ioctl = scc_ioctl,
	.ndo_set_mac_address = scc_set_mac_address,
};

static int __init setup_adapter(int card_base, int type, int n)
@@ -584,7 +585,6 @@ static int __init setup_adapter(int card_base, int type, int n)
		dev->irq = irq;
		dev->netdev_ops = &scc_netdev_ops;
		dev->header_ops = &ax25_header_ops;
		dev->set_mac_address = scc_set_mac_address;
	}
	if (register_netdev(info->dev[0])) {
		printk(KERN_ERR "dmascc: could not register %s\n",
+4 −6
Original line number Diff line number Diff line
@@ -294,14 +294,12 @@ static ssize_t show_remote_port(struct netconsole_target *nt, char *buf)

static ssize_t show_local_ip(struct netconsole_target *nt, char *buf)
{
	return snprintf(buf, PAGE_SIZE, "%d.%d.%d.%d\n",
			HIPQUAD(nt->np.local_ip));
	return snprintf(buf, PAGE_SIZE, "%pI4\n", &nt->np.local_ip);
}

static ssize_t show_remote_ip(struct netconsole_target *nt, char *buf)
{
	return snprintf(buf, PAGE_SIZE, "%d.%d.%d.%d\n",
			HIPQUAD(nt->np.remote_ip));
	return snprintf(buf, PAGE_SIZE, "%pI4\n", &nt->np.remote_ip);
}

static ssize_t show_local_mac(struct netconsole_target *nt, char *buf)
@@ -438,7 +436,7 @@ static ssize_t store_local_ip(struct netconsole_target *nt,
		return -EINVAL;
	}

	nt->np.local_ip = ntohl(in_aton(buf));
	nt->np.local_ip = in_aton(buf);

	return strnlen(buf, count);
}
@@ -454,7 +452,7 @@ static ssize_t store_remote_ip(struct netconsole_target *nt,
		return -EINVAL;
	}

	nt->np.remote_ip = ntohl(in_aton(buf));
	nt->np.remote_ip = in_aton(buf);

	return strnlen(buf, count);
}
+12 −6
Original line number Diff line number Diff line
@@ -189,6 +189,17 @@ static void __init trigger_irq(int ioaddr)
		outb(MM_EN_XMT|MM_MUX, IE_MMODE); /* Start transmission */
}

static const struct net_device_ops ni5010_netdev_ops = {
	.ndo_open		= ni5010_open,
	.ndo_stop		= ni5010_close,
	.ndo_start_xmit		= ni5010_send_packet,
	.ndo_set_multicast_list	= ni5010_set_multicast_list,
	.ndo_tx_timeout		= ni5010_timeout,
	.ndo_validate_addr	= eth_validate_addr,
	.ndo_set_mac_address	= eth_mac_addr,
	.ndo_change_mtu		= eth_change_mtu,
};

/*
 *      This is the real probe routine.  Linux has a history of friendly device
 *      probes on the ISA bus.  A good device probes avoids doing writes, and
@@ -328,13 +339,8 @@ static int __init ni5010_probe1(struct net_device *dev, int ioaddr)
        	outb(0, IE_RBUF);	/* set buffer byte 0 to 0 again */
	}
        printk("-> bufsize rcv/xmt=%d/%d\n", bufsize_rcv, NI5010_BUFSIZE);
	memset(netdev_priv(dev), 0, sizeof(struct ni5010_local));

	dev->open		= ni5010_open;
	dev->stop		= ni5010_close;
	dev->hard_start_xmit	= ni5010_send_packet;
	dev->set_multicast_list = ni5010_set_multicast_list;
	dev->tx_timeout		= ni5010_timeout;
	dev->netdev_ops		= &ni5010_netdev_ops;
	dev->watchdog_timeo	= HZ/20;

	dev->flags &= ~IFF_MULTICAST;	/* Multicast doesn't work */
+7 −5
Original line number Diff line number Diff line
@@ -3441,7 +3441,8 @@ static int niu_rx_pkt_ignore(struct niu *np, struct rx_ring_info *rp)
	return num_rcr;
}

static int niu_process_rx_pkt(struct niu *np, struct rx_ring_info *rp)
static int niu_process_rx_pkt(struct napi_struct *napi, struct niu *np,
			      struct rx_ring_info *rp)
{
	unsigned int index = rp->rcr_index;
	struct sk_buff *skb;
@@ -3518,7 +3519,7 @@ static int niu_process_rx_pkt(struct niu *np, struct rx_ring_info *rp)

	skb->protocol = eth_type_trans(skb, np->dev);
	skb_record_rx_queue(skb, rp->rx_channel);
	netif_receive_skb(skb);
	napi_gro_receive(napi, skb);

	return num_rcr;
}
@@ -3706,7 +3707,8 @@ static inline void niu_sync_rx_discard_stats(struct niu *np,
	}
}

static int niu_rx_work(struct niu *np, struct rx_ring_info *rp, int budget)
static int niu_rx_work(struct napi_struct *napi, struct niu *np,
		       struct rx_ring_info *rp, int budget)
{
	int qlen, rcr_done = 0, work_done = 0;
	struct rxdma_mailbox *mbox = rp->mbox;
@@ -3728,7 +3730,7 @@ static int niu_rx_work(struct niu *np, struct rx_ring_info *rp, int budget)
	rcr_done = work_done = 0;
	qlen = min(qlen, budget);
	while (work_done < qlen) {
		rcr_done += niu_process_rx_pkt(np, rp);
		rcr_done += niu_process_rx_pkt(napi, np, rp);
		work_done++;
	}

@@ -3776,7 +3778,7 @@ static int niu_poll_core(struct niu *np, struct niu_ldg *lp, int budget)
		if (rx_vec & (1 << rp->rx_channel)) {
			int this_work_done;

			this_work_done = niu_rx_work(np, rp,
			this_work_done = niu_rx_work(&lp->napi, np, rp,
						     budget);

			budget -= this_work_done;
Loading