From: David S. Miller Date: Wed, 18 Dec 2013 21:42:06 +0000 (-0500) Subject: Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net X-Git-Tag: next-20131220~61^2~14 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=143c9054949436cb05e468439dc5e46231f33d09;p=karo-tx-linux.git Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: drivers/net/ethernet/intel/i40e/i40e_main.c drivers/net/macvtap.c Both minor merge hassles, simple overlapping changes. Signed-off-by: David S. Miller --- 143c9054949436cb05e468439dc5e46231f33d09 diff --cc drivers/net/ethernet/intel/i40e/i40e_main.c index da5e8e441e26,12b0932204ba..efdf8a261b9a --- a/drivers/net/ethernet/intel/i40e/i40e_main.c +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c @@@ -354,9 -354,9 +354,13 @@@ static struct rtnl_link_stats64 *i40e_g struct rtnl_link_stats64 *vsi_stats = i40e_get_vsi_stats_struct(vsi); int i; ++ + if (test_bit(__I40E_DOWN, &vsi->state)) + return stats; + + if (!vsi->tx_rings) + return stats; + rcu_read_lock(); for (i = 0; i < vsi->num_queue_pairs; i++) { struct i40e_ring *tx_ring, *rx_ring; diff --cc drivers/net/macvtap.c index 431f58cb2ceb,2a89da080317..a2c3a897206e --- a/drivers/net/macvtap.c +++ b/drivers/net/macvtap.c @@@ -817,13 -819,12 +819,12 @@@ static ssize_t macvtap_put_user(struct } ret = skb_copy_datagram_const_iovec(skb, vlan_offset, iv, copied, len); - copied += len; done: - return ret ? ret : copied; + return ret ? ret : total; } -static ssize_t macvtap_do_read(struct macvtap_queue *q, struct kiocb *iocb, +static ssize_t macvtap_do_read(struct macvtap_queue *q, const struct iovec *iv, unsigned long len, int noblock) { @@@ -874,8 -875,8 +875,8 @@@ static ssize_t macvtap_aio_read(struct goto out; } - ret = macvtap_do_read(q, iocb, iv, len, file->f_flags & O_NONBLOCK); + ret = macvtap_do_read(q, iv, len, file->f_flags & O_NONBLOCK); - ret = min_t(ssize_t, ret, len); /* XXX copied from tun.c. Why? */ + ret = min_t(ssize_t, ret, len); if (ret > 0) iocb->ki_pos = ret; out: diff --cc net/sctp/associola.c index 3d7c6bd46311,31ed008c8e13..5ae609200674 --- a/net/sctp/associola.c +++ b/net/sctp/associola.c @@@ -144,9 -152,9 +144,8 @@@ static struct sctp_association *sctp_as asoc->timeouts[SCTP_EVENT_TIMEOUT_T5_SHUTDOWN_GUARD] = 5 * asoc->rto_max; - asoc->timeouts[SCTP_EVENT_TIMEOUT_HEARTBEAT] = 0; asoc->timeouts[SCTP_EVENT_TIMEOUT_SACK] = asoc->sackdelay; - asoc->timeouts[SCTP_EVENT_TIMEOUT_AUTOCLOSE] = - min_t(unsigned long, sp->autoclose, net->sctp.max_autoclose) * HZ; + asoc->timeouts[SCTP_EVENT_TIMEOUT_AUTOCLOSE] = sp->autoclose * HZ; /* Initializes the timers */ for (i = SCTP_EVENT_TIMEOUT_NONE; i < SCTP_NUM_TIMEOUT_TYPES; ++i)