mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (86 commits) ipv4: fix redirect handling ping: dont increment ICMP_MIB_INERRORS sky2: fix hang in napi_disable sky2: enforce minimum ring size bonding: Don't allow mode change via sysfs with slaves present f_phonet: fix page offset of first received fragment stmmac: fix pm functions avoiding sleep on spinlock stmmac: remove spin_lock in stmmac_ioctl. stmmac: parameters auto-tuning through HW cap reg stmmac: fix advertising 1000Base capabilties for non GMII iface stmmac: use mdelay on timeout of sw reset sky2: version 1.30 sky2: used fixed RSS key sky2: reduce default Tx ring size sky2: rename up/down functions sky2: pci posting issues sky2: fix hang on shutdown (and other irq issues) r6040: fix check against MCRO_HASHEN bit in r6040_multicast_list MAINTAINERS: change email address for shemminger pch_gbe: Move #include of module.h ...
This commit is contained in:
commit
6fe4c6d466
77 changed files with 604 additions and 312 deletions
|
|
@ -4,7 +4,7 @@ menu "S/390 network device drivers"
|
|||
config LCS
|
||||
def_tristate m
|
||||
prompt "Lan Channel Station Interface"
|
||||
depends on CCW && NETDEVICES && (NET_ETHERNET || TR || FDDI)
|
||||
depends on CCW && NETDEVICES && (ETHERNET || TR || FDDI)
|
||||
help
|
||||
Select this option if you want to use LCS networking on IBM System z.
|
||||
This device driver supports Token Ring (IEEE 802.5),
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@
|
|||
#include "lcs.h"
|
||||
|
||||
|
||||
#if !defined(CONFIG_NET_ETHERNET) && \
|
||||
#if !defined(CONFIG_ETHERNET) && \
|
||||
!defined(CONFIG_TR) && !defined(CONFIG_FDDI)
|
||||
#error Cannot compile lcs.c without some net devices switched on.
|
||||
#endif
|
||||
|
|
@ -1634,7 +1634,7 @@ lcs_startlan_auto(struct lcs_card *card)
|
|||
int rc;
|
||||
|
||||
LCS_DBF_TEXT(2, trace, "strtauto");
|
||||
#ifdef CONFIG_NET_ETHERNET
|
||||
#ifdef CONFIG_ETHERNET
|
||||
card->lan_type = LCS_FRAME_TYPE_ENET;
|
||||
rc = lcs_send_startlan(card, LCS_INITIATOR_TCPIP);
|
||||
if (rc == 0)
|
||||
|
|
@ -2166,7 +2166,7 @@ lcs_new_device(struct ccwgroup_device *ccwgdev)
|
|||
goto netdev_out;
|
||||
}
|
||||
switch (card->lan_type) {
|
||||
#ifdef CONFIG_NET_ETHERNET
|
||||
#ifdef CONFIG_ETHERNET
|
||||
case LCS_FRAME_TYPE_ENET:
|
||||
card->lan_type_trans = eth_type_trans;
|
||||
dev = alloc_etherdev(0);
|
||||
|
|
|
|||
|
|
@ -1994,6 +1994,8 @@ static struct net_device *netiucv_init_netdevice(char *username)
|
|||
netiucv_setup_netdevice);
|
||||
if (!dev)
|
||||
return NULL;
|
||||
if (dev_alloc_name(dev, dev->name) < 0)
|
||||
goto out_netdev;
|
||||
|
||||
privptr = netdev_priv(dev);
|
||||
privptr->fsm = init_fsm("netiucvdev", dev_state_names,
|
||||
|
|
|
|||
|
|
@ -236,8 +236,7 @@ static inline int qeth_is_ipa_enabled(struct qeth_ipa_info *ipa,
|
|||
#define QETH_IN_BUF_COUNT_MAX 128
|
||||
#define QETH_MAX_BUFFER_ELEMENTS(card) ((card)->qdio.in_buf_size >> 12)
|
||||
#define QETH_IN_BUF_REQUEUE_THRESHOLD(card) \
|
||||
((card)->ssqd.qdioac1 & AC1_SIGA_INPUT_NEEDED ? 1 : \
|
||||
((card)->qdio.in_buf_pool.buf_count / 2))
|
||||
((card)->qdio.in_buf_pool.buf_count / 2)
|
||||
|
||||
/* buffers we have to be behind before we get a PCI */
|
||||
#define QETH_PCI_THRESHOLD_A(card) ((card)->qdio.in_buf_pool.buf_count+1)
|
||||
|
|
|
|||
|
|
@ -881,7 +881,6 @@ EXPORT_SYMBOL_GPL(qeth_do_run_thread);
|
|||
void qeth_schedule_recovery(struct qeth_card *card)
|
||||
{
|
||||
QETH_CARD_TEXT(card, 2, "startrec");
|
||||
WARN_ON(1);
|
||||
if (qeth_set_thread_start_bit(card, QETH_RECOVER_THREAD) == 0)
|
||||
schedule_work(&card->kernel_thread_starter);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2756,11 +2756,13 @@ int inline qeth_l3_get_cast_type(struct qeth_card *card, struct sk_buff *skb)
|
|||
struct neighbour *n = NULL;
|
||||
struct dst_entry *dst;
|
||||
|
||||
rcu_read_lock();
|
||||
dst = skb_dst(skb);
|
||||
if (dst)
|
||||
n = dst_get_neighbour(dst);
|
||||
if (n) {
|
||||
cast_type = n->type;
|
||||
rcu_read_unlock();
|
||||
if ((cast_type == RTN_BROADCAST) ||
|
||||
(cast_type == RTN_MULTICAST) ||
|
||||
(cast_type == RTN_ANYCAST))
|
||||
|
|
@ -2768,6 +2770,8 @@ int inline qeth_l3_get_cast_type(struct qeth_card *card, struct sk_buff *skb)
|
|||
else
|
||||
return RTN_UNSPEC;
|
||||
}
|
||||
rcu_read_unlock();
|
||||
|
||||
/* try something else */
|
||||
if (skb->protocol == ETH_P_IPV6)
|
||||
return (skb_network_header(skb)[24] == 0xff) ?
|
||||
|
|
@ -2847,6 +2851,8 @@ static void qeth_l3_fill_header(struct qeth_card *card, struct qeth_hdr *hdr,
|
|||
}
|
||||
|
||||
hdr->hdr.l3.length = skb->len - sizeof(struct qeth_hdr);
|
||||
|
||||
rcu_read_lock();
|
||||
dst = skb_dst(skb);
|
||||
if (dst)
|
||||
n = dst_get_neighbour(dst);
|
||||
|
|
@ -2893,6 +2899,7 @@ static void qeth_l3_fill_header(struct qeth_card *card, struct qeth_hdr *hdr,
|
|||
QETH_CAST_UNICAST | QETH_HDR_PASSTHRU;
|
||||
}
|
||||
}
|
||||
rcu_read_unlock();
|
||||
}
|
||||
|
||||
static inline void qeth_l3_hdr_csum(struct qeth_card *card,
|
||||
|
|
|
|||
|
|
@ -335,10 +335,10 @@ static ssize_t qeth_l3_dev_sniffer_store(struct device *dev,
|
|||
QETH_IN_BUF_COUNT_MAX)
|
||||
qeth_realloc_buffer_pool(card,
|
||||
QETH_IN_BUF_COUNT_MAX);
|
||||
break;
|
||||
} else
|
||||
rc = -EPERM;
|
||||
default: /* fall through */
|
||||
break;
|
||||
default:
|
||||
rc = -EINVAL;
|
||||
}
|
||||
out:
|
||||
|
|
|
|||
Loading…
Reference in a new issue