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

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

Merge 3.18.20 into android-3.18



Changes in 3.18.20:
	Revert "can: fix loss of CAN frames in raw_rcv"
	spi: pl022: Specify 'num-cs' property as required in devicetree binding
	ext4: fix reservation release on invalidatepage for delalloc fs
	ext4: be more strict when migrating to non-extent based file
	ext4: correctly migrate a file with a hole at the beginning
	ext4: replace open coded nofail allocation in ext4_free_blocks()
	iio: DAC: ad5624r_spi: fix bit shift of output data value
	iio: tmp006: Check channel info on write
	iio: adc: at91_adc: allow to use full range of startup time
	ASoC: imx-wm8962: Add a missing error check
	libata: add ATA_HORKAGE_BROKEN_FPDMA_AA quirk for HP 250GB SATA disk VB0250EAVER
	libata: increase the timeout when setting transfer mode
	usb: dwc3: Reset the transfer resource index on SET_INTERFACE
	USB: devio: fix a condition in async_completed()
	usb: musb: host: rely on port_mode to call musb_start()
	USB: cp210x: add ID for Aruba Networks controllers
	USB: option: add 2020:4000 ID
	USB: serial: Destroy serial_minors IDR on module exit
	usb: xhci: Bugfix for NULL pointer deference in xhci_endpoint_init() function
	dm btree remove: fix bug in redistribute3
	dm btree: silence lockdep lock inversion in dm_btree_del()
	mmc: block: Add missing mmc_blk_put() in power_ro_lock_show()
	drm/radeon: add a dpm quirk for Sapphire Radeon R9 270X 2GB GDDR5
	drm: add a check for x/y in drm_mode_setcrtc
	KEYS: ensure we free the assoc array edit if edit is valid
	evm: labeling pseudo filesystems exception
	libata: add ATA_HORKAGE_NOTRIM
	libata: force disable trim for SuperSSpeed S238
	tracing/filter: Do not WARN on operand count going below zero
	tracing: Have branch tracer use recursive field of task struct
	md: fix a build warning
	Btrfs: use kmem_cache_free when freeing entry in inode cache
	Btrfs: fix memory leak in the extent_same ioctl
	ACPICA: Tables: Fix an issue that FACS initialization is performed twice
	iscsi-target: Convert iscsi_thread_set usage to kthread.h
	iser-target: Fix possible deadlock in RDMA_CM connection error
	mmc: card: Fixup request missing in mmc_blk_issue_rw_rq
	__bitmap_parselist: fix bug in empty string handling
	security_syslog() should be called once only
	mac80211: prevent possible crypto tx tailroom corruption
	dell-laptop: Fix allocating & freeing SMI buffer page
	USB: usbfs: allow URBs to be reaped after disconnection
	of: return NUMA_NO_NODE from fallback of_node_to_nid()
	watchdog: omap: assert the counter being stopped before reprogramming
	NFS: Fix size of NFSACL SETACL operations
	9p: forgetting to cancel request on interrupted zero-copy RPC
	9p: don't leave a half-initialized inode sitting around
	arm64: Don't report clear pmds and puds as huge
	Fix firmware loader uevent buffer NULL pointer dereference
	SCSI: add 1024 max sectors black list flag
	blk-mq: fix CPU hotplug handling
	Linux 3.18.20

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parents 65caea97 e9fd6ddc
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -4,9 +4,9 @@ Required properties:
- compatible : "arm,pl022", "arm,primecell"
- reg : Offset and length of the register set for the device
- interrupts : Should contain SPI controller interrupt
- num-cs : total number of chipselects

Optional properties:
- num-cs : total number of chipselects
- cs-gpios : should specify GPIOs used for chipselects.
  The gpios will be referred to as reg = <index> in the SPI child nodes.
  If unspecified, a single SPI device without a chip select can be used.
+1 −1
Original line number Diff line number Diff line
VERSION = 3
PATCHLEVEL = 18
SUBLEVEL = 19
SUBLEVEL = 20
EXTRAVERSION =
NAME = Shuffling Zombie Juror

+2 −2
Original line number Diff line number Diff line
@@ -40,13 +40,13 @@ int huge_pmd_unshare(struct mm_struct *mm, unsigned long *addr, pte_t *ptep)

int pmd_huge(pmd_t pmd)
{
	return !(pmd_val(pmd) & PMD_TABLE_BIT);
	return pmd_val(pmd) && !(pmd_val(pmd) & PMD_TABLE_BIT);
}

int pud_huge(pud_t pud)
{
#ifndef __PAGETABLE_PMD_FOLDED
	return !(pud_val(pud) & PUD_TABLE_BIT);
	return pud_val(pud) && !(pud_val(pud) & PUD_TABLE_BIT);
#else
	return 0;
#endif
+13 −21
Original line number Diff line number Diff line
@@ -1473,22 +1473,6 @@ static int blk_mq_hctx_cpu_offline(struct blk_mq_hw_ctx *hctx, int cpu)
	return NOTIFY_OK;
}

static int blk_mq_hctx_cpu_online(struct blk_mq_hw_ctx *hctx, int cpu)
{
	struct request_queue *q = hctx->queue;
	struct blk_mq_tag_set *set = q->tag_set;

	if (set->tags[hctx->queue_num])
		return NOTIFY_OK;

	set->tags[hctx->queue_num] = blk_mq_init_rq_map(set, hctx->queue_num);
	if (!set->tags[hctx->queue_num])
		return NOTIFY_STOP;

	hctx->tags = set->tags[hctx->queue_num];
	return NOTIFY_OK;
}

static int blk_mq_hctx_notify(void *data, unsigned long action,
			      unsigned int cpu)
{
@@ -1496,8 +1480,11 @@ static int blk_mq_hctx_notify(void *data, unsigned long action,

	if (action == CPU_DEAD || action == CPU_DEAD_FROZEN)
		return blk_mq_hctx_cpu_offline(hctx, cpu);
	else if (action == CPU_ONLINE || action == CPU_ONLINE_FROZEN)
		return blk_mq_hctx_cpu_online(hctx, cpu);

	/*
	 * In case of CPU online, tags may be reallocated
	 * in blk_mq_map_swqueue() after mapping is updated.
	 */

	return NOTIFY_OK;
}
@@ -1682,6 +1669,7 @@ static void blk_mq_map_swqueue(struct request_queue *q)
	unsigned int i;
	struct blk_mq_hw_ctx *hctx;
	struct blk_mq_ctx *ctx;
	struct blk_mq_tag_set *set = q->tag_set;

	queue_for_each_hw_ctx(q, hctx, i) {
		cpumask_clear(hctx->cpumask);
@@ -1708,16 +1696,20 @@ static void blk_mq_map_swqueue(struct request_queue *q)
		 * disable it and free the request entries.
		 */
		if (!hctx->nr_ctx) {
			struct blk_mq_tag_set *set = q->tag_set;

			if (set->tags[i]) {
				blk_mq_free_rq_map(set, set->tags[i], i);
				set->tags[i] = NULL;
				hctx->tags = NULL;
			}
			hctx->tags = NULL;
			continue;
		}

		/* unmapped hw queue can be remapped after CPU topo changed */
		if (!set->tags[i])
			set->tags[i] = blk_mq_init_rq_map(set, i);
		hctx->tags = set->tags[i];
		WARN_ON(!hctx->tags);

		/*
		 * Initialize batch roundrobin counts
		 */
+6 −4
Original line number Diff line number Diff line
@@ -175,11 +175,13 @@ acpi_status __init acpi_enable_subsystem(u32 flags)
	 * Obtain a permanent mapping for the FACS. This is required for the
	 * Global Lock and the Firmware Waking Vector
	 */
	if (!(flags & ACPI_NO_FACS_INIT)) {
		status = acpi_tb_initialize_facs();
		if (ACPI_FAILURE(status)) {
			ACPI_WARNING((AE_INFO, "Could not map the FACS table"));
			return_ACPI_STATUS(status);
		}
	}
#endif				/* !ACPI_REDUCED_HARDWARE */

	/*
Loading