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

Commit 50483ad2 authored by jianzhou's avatar jianzhou
Browse files

Merge android-4.9.164 (26fad52f) into msm-4.9



* refs/heads/tmp-26fad52f:
  Linux 4.9.164
  vhost/vsock: fix vhost vsock cid hashing inconsistent
  of: Support const and non-const use for to_of_node()
  mmc: tmio_mmc_core: don't claim spurious interrupts
  It's wrong to add len to sector_nr in raid10 reshape twice
  ALSA: bebob: use more identical mod_alias for Saffire Pro 10 I/O against Liquid Saffire 56
  perf/x86: Fixup typo in stub functions
  tcp/dccp: remove reqsk_put() from inet_child_forget()
  gro_cells: make sure device is up in gro_cells_receive()
  rxrpc: Fix client call queueing, waiting for channel
  vxlan: Fix GRO cells race condition between receive and link delete
  ipvlan: disallow userns cap_net_admin to change global mode/flags
  missing barriers in some of unix_sock ->addr and ->path accesses
  net: Set rtm_table to RT_TABLE_COMPAT for ipv6 for tables > 255
  mdio_bus: Fix use-after-free on device_register fails
  net/x25: fix a race in x25_bind()
  net/mlx4_core: Fix qp mtt size calculation
  net/mlx4_core: Fix locking in SRIOV mode when switching between events and polling
  net/mlx4_core: Fix reset flow when in command polling mode
  vxlan: test dev->flags & IFF_UP before calling gro_cells_receive()
  tcp: handle inet_csk_reqsk_queue_add() failures
  route: set the deleted fnhe fnhe_daddr to 0 in ip_del_fnhe to fix a race
  ravb: Decrease TxFIFO depth of Q3 and Q2 to one
  pptp: dst_release sk_dst_cache in pptp_sock_destruct
  net/x25: reset state in x25_connect()
  net/x25: fix use-after-free in x25_device_event()
  net: sit: fix UBSAN Undefined behaviour in check_6rd
  net/hsr: fix possible crash in add_timer()
  net: hsr: fix memory leak in hsr_dev_finalize()
  l2tp: fix infoleak in l2tp_ip6_recvmsg()
  KEYS: restrict /proc/keys by credentials at open time
  ACPICA: Reference Counts: increase max to 0x4000 for large servers

Change-Id: I6e45e2afea16ec7da7d96b39f66213cd3326883e
Signed-off-by: default avatarjianzhou <jianzhou@codeaurora.org>
parents dd779cb2 26fad52f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
VERSION = 4
PATCHLEVEL = 9
SUBLEVEL = 163
SUBLEVEL = 164
EXTRAVERSION =
NAME = Roaring Lionus

+2 −2
Original line number Diff line number Diff line
@@ -996,12 +996,12 @@ static inline int intel_pmu_init(void)
	return 0;
}

static inline int intel_cpuc_prepare(struct cpu_hw_event *cpuc, int cpu)
static inline int intel_cpuc_prepare(struct cpu_hw_events *cpuc, int cpu)
{
	return 0;
}

static inline void intel_cpuc_finish(struct cpu_hw_event *cpuc)
static inline void intel_cpuc_finish(struct cpu_hw_events *cpuc)
{
}

+0 −1
Original line number Diff line number Diff line
@@ -4489,7 +4489,6 @@ static sector_t reshape_request(struct mddev *mddev, sector_t sector_nr,
	atomic_inc(&r10_bio->remaining);
	read_bio->bi_next = NULL;
	generic_make_request(read_bio);
	sector_nr += nr_sectors;
	sectors_done += nr_sectors;
	if (sector_nr <= last)
		goto read_more;
+7 −4
Original line number Diff line number Diff line
@@ -675,7 +675,7 @@ static bool __tmio_mmc_sdcard_irq(struct tmio_mmc_host *host,
	return false;
}

static void tmio_mmc_sdio_irq(int irq, void *devid)
static bool tmio_mmc_sdio_irq(int irq, void *devid)
{
	struct tmio_mmc_host *host = devid;
	struct mmc_host *mmc = host->mmc;
@@ -684,7 +684,7 @@ static void tmio_mmc_sdio_irq(int irq, void *devid)
	unsigned int sdio_status;

	if (!(pdata->flags & TMIO_MMC_SDIO_IRQ))
		return;
		return false;

	status = sd_ctrl_read16(host, CTL_SDIO_STATUS);
	ireg = status & TMIO_SDIO_MASK_ALL & ~host->sdcard_irq_mask;
@@ -697,6 +697,8 @@ static void tmio_mmc_sdio_irq(int irq, void *devid)

	if (mmc->caps & MMC_CAP_SDIO_IRQ && ireg & TMIO_SDIO_STAT_IOIRQ)
		mmc_signal_sdio_irq(mmc);

	return ireg;
}

irqreturn_t tmio_mmc_irq(int irq, void *devid)
@@ -718,9 +720,10 @@ irqreturn_t tmio_mmc_irq(int irq, void *devid)
	if (__tmio_mmc_sdcard_irq(host, ireg, status))
		return IRQ_HANDLED;

	tmio_mmc_sdio_irq(irq, devid);

	if (tmio_mmc_sdio_irq(irq, devid))
		return IRQ_HANDLED;

	return IRQ_NONE;
}
EXPORT_SYMBOL(tmio_mmc_irq);

+9 −0
Original line number Diff line number Diff line
@@ -2633,6 +2633,8 @@ int mlx4_cmd_use_events(struct mlx4_dev *dev)
	if (!priv->cmd.context)
		return -ENOMEM;

	if (mlx4_is_mfunc(dev))
		mutex_lock(&priv->cmd.slave_cmd_mutex);
	down_write(&priv->cmd.switch_sem);
	for (i = 0; i < priv->cmd.max_cmds; ++i) {
		priv->cmd.context[i].token = i;
@@ -2658,6 +2660,8 @@ int mlx4_cmd_use_events(struct mlx4_dev *dev)
	down(&priv->cmd.poll_sem);
	priv->cmd.use_events = 1;
	up_write(&priv->cmd.switch_sem);
	if (mlx4_is_mfunc(dev))
		mutex_unlock(&priv->cmd.slave_cmd_mutex);

	return err;
}
@@ -2670,6 +2674,8 @@ void mlx4_cmd_use_polling(struct mlx4_dev *dev)
	struct mlx4_priv *priv = mlx4_priv(dev);
	int i;

	if (mlx4_is_mfunc(dev))
		mutex_lock(&priv->cmd.slave_cmd_mutex);
	down_write(&priv->cmd.switch_sem);
	priv->cmd.use_events = 0;

@@ -2677,9 +2683,12 @@ void mlx4_cmd_use_polling(struct mlx4_dev *dev)
		down(&priv->cmd.event_sem);

	kfree(priv->cmd.context);
	priv->cmd.context = NULL;

	up(&priv->cmd.poll_sem);
	up_write(&priv->cmd.switch_sem);
	if (mlx4_is_mfunc(dev))
		mutex_unlock(&priv->cmd.slave_cmd_mutex);
}

struct mlx4_cmd_mailbox *mlx4_alloc_cmd_mailbox(struct mlx4_dev *dev)
Loading