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

Commit fd5657a6 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge 4.9.160 into android-4.9



Changes in 4.9.160
	net: fix IPv6 prefix route residue
	vsock: cope with memory allocation failure at socket creation time
	hwmon: (lm80) Fix missing unlock on error in set_fan_div()
	net: Fix for_each_netdev_feature on Big endian
	net: phy: xgmiitorgmii: Support generic PHY status read
	net: stmmac: handle endianness in dwmac4_get_timestamp
	sky2: Increase D3 delay again
	vhost: correctly check the return value of translate_desc() in log_used()
	net: Add header for usage of fls64()
	tcp: tcp_v4_err() should be more careful
	net: Do not allocate page fragments that are not skb aligned
	tcp: clear icsk_backoff in tcp_write_queue_purge()
	vxlan: test dev->flags & IFF_UP before calling netif_rx()
	net: stmmac: Fix a race in EEE enable callback
	net: ipv4: use a dedicated counter for icmp_v4 redirect packets
	btrfs: Remove false alert when fiemap range is smaller than on-disk extent
	net/x25: do not hold the cpu too long in x25_new_lci()
	mISDN: fix a race in dev_expire_timer()
	ax25: fix possible use-after-free
	Linux 4.9.160

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parents f5f03ad3 badcc565
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
VERSION = 4
VERSION = 4
PATCHLEVEL = 9
PATCHLEVEL = 9
SUBLEVEL = 159
SUBLEVEL = 160
EXTRAVERSION =
EXTRAVERSION =
NAME = Roaring Lionus
NAME = Roaring Lionus


+3 −1
Original line number Original line Diff line number Diff line
@@ -393,8 +393,10 @@ static ssize_t set_fan_div(struct device *dev, struct device_attribute *attr,
	}
	}


	rv = lm80_read_value(client, LM80_REG_FANDIV);
	rv = lm80_read_value(client, LM80_REG_FANDIV);
	if (rv < 0)
	if (rv < 0) {
		mutex_unlock(&data->update_lock);
		return rv;
		return rv;
	}
	reg = (rv & ~(3 << (2 * (nr + 1))))
	reg = (rv & ~(3 << (2 * (nr + 1))))
	    | (data->fan_div[nr] << (2 * (nr + 1)));
	    | (data->fan_div[nr] << (2 * (nr + 1)));
	lm80_write_value(client, LM80_REG_FANDIV, reg);
	lm80_write_value(client, LM80_REG_FANDIV, reg);
+1 −1
Original line number Original line Diff line number Diff line
@@ -168,8 +168,8 @@ dev_expire_timer(unsigned long data)
	spin_lock_irqsave(&timer->dev->lock, flags);
	spin_lock_irqsave(&timer->dev->lock, flags);
	if (timer->id >= 0)
	if (timer->id >= 0)
		list_move_tail(&timer->list, &timer->dev->expired);
		list_move_tail(&timer->list, &timer->dev->expired);
	spin_unlock_irqrestore(&timer->dev->lock, flags);
	wake_up_interruptible(&timer->dev->wait);
	wake_up_interruptible(&timer->dev->wait);
	spin_unlock_irqrestore(&timer->dev->lock, flags);
}
}


static int
static int
+1 −1
Original line number Original line Diff line number Diff line
@@ -5079,7 +5079,7 @@ static int sky2_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
	INIT_WORK(&hw->restart_work, sky2_restart);
	INIT_WORK(&hw->restart_work, sky2_restart);


	pci_set_drvdata(pdev, hw);
	pci_set_drvdata(pdev, hw);
	pdev->d3_delay = 200;
	pdev->d3_delay = 300;


	return 0;
	return 0;


+6 −3
Original line number Original line Diff line number Diff line
@@ -237,15 +237,18 @@ static inline u64 dwmac4_get_timestamp(void *desc, u32 ats)
static int dwmac4_rx_check_timestamp(void *desc)
static int dwmac4_rx_check_timestamp(void *desc)
{
{
	struct dma_desc *p = (struct dma_desc *)desc;
	struct dma_desc *p = (struct dma_desc *)desc;
	unsigned int rdes0 = le32_to_cpu(p->des0);
	unsigned int rdes1 = le32_to_cpu(p->des1);
	unsigned int rdes3 = le32_to_cpu(p->des3);
	u32 own, ctxt;
	u32 own, ctxt;
	int ret = 1;
	int ret = 1;


	own = p->des3 & RDES3_OWN;
	own = rdes3 & RDES3_OWN;
	ctxt = ((p->des3 & RDES3_CONTEXT_DESCRIPTOR)
	ctxt = ((rdes3 & RDES3_CONTEXT_DESCRIPTOR)
		>> RDES3_CONTEXT_DESCRIPTOR_SHIFT);
		>> RDES3_CONTEXT_DESCRIPTOR_SHIFT);


	if (likely(!own && ctxt)) {
	if (likely(!own && ctxt)) {
		if ((p->des0 == 0xffffffff) && (p->des1 == 0xffffffff))
		if ((rdes0 == 0xffffffff) && (rdes1 == 0xffffffff))
			/* Corrupted value */
			/* Corrupted value */
			ret = -EINVAL;
			ret = -EINVAL;
		else
		else
Loading