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

Commit 2310673c authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'char-misc-5.2-rc1-part1' of...

Merge tag 'char-misc-5.2-rc1-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc

Pull char/misc update part 1 from Greg KH:
 "This contains only a small number of bugfixes that would have gone to
  you for 5.1-rc8 if that had happened, but instead I let them sit in
  linux-next for an extra week just "to be sure".

  The "big" patch here is for hyper-v, fixing a bug in their sysfs files
  that could cause big problems. The others are all small fixes,
  resolving reported issues that showed up in 5.1-rcs, plus some odd
  'static' cleanups for the phy drivers that really should have waited
  for -rc1. Most of these are tagged for the stable trees, so 5.1 will
  pick them up.

  All of these have been in linux-next for a while, with no reported
  issues"

* tag 'char-misc-5.2-rc1-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
  misc: rtsx: Fixed rts5260 power saving parameter and sd glitch
  binder: take read mode of mmap_sem in binder_alloc_free_page()
  intel_th: pci: Add Comet Lake support
  stm class: Fix channel bitmap on 32-bit systems
  stm class: Fix channel free in stm output free path
  phy: sun4i-usb: Make sure to disable PHY0 passby for peripheral mode
  phy: fix platform_no_drv_owner.cocci warnings
  phy: mapphone-mdm6600: add gpiolib dependency
  phy: ti: usb2: fix OMAP_CONTROL_PHY dependency
  phy: allwinner: allow compile testing
  phy: qcom-ufs: Make ufs_qcom_phy_disable_iface_clk static
  phy: rockchip-typec: Make usb3_pll_cfg and dp_pll_cfg static
  phy: phy-twl4030-usb: Fix cable state handling
  Drivers: hv: vmbus: Remove the undesired put_cpu_ptr() in hv_synic_cleanup()
  Drivers: hv: vmbus: Fix race condition with new ring_buffer_info mutex
  Drivers: hv: vmbus: Set ring_info field to 0 and remove memset
  Drivers: hv: vmbus: Refactor chan->state if statement
  Drivers: hv: vmbus: Expose monitor data only when monitor pages are used
parents e0dccbdf 24f1bc28
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -81,7 +81,9 @@ What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/latency
Date:		September. 2017
KernelVersion:	4.14
Contact:	Stephen Hemminger <sthemmin@microsoft.com>
Description:	Channel signaling latency
Description:	Channel signaling latency. This file is available only for
		performance critical channels (storage, network, etc.) that use
		the monitor page mechanism.
Users:		Debugging tools

What:		/sys/bus/vmbus/devices/<UUID>/channels/<N>/out_mask
@@ -95,7 +97,9 @@ What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/pending
Date:		September. 2017
KernelVersion:	4.14
Contact:	Stephen Hemminger <sthemmin@microsoft.com>
Description:	Channel interrupt pending state
Description:	Channel interrupt pending state. This file is available only for
		performance critical channels (storage, network, etc.) that use
		the monitor page mechanism.
Users:		Debugging tools

What:		/sys/bus/vmbus/devices/<UUID>/channels/<N>/read_avail
@@ -137,7 +141,9 @@ What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/monitor_id
Date:		January. 2018
KernelVersion:	4.16
Contact:	Stephen Hemminger <sthemmin@microsoft.com>
Description:	Monitor bit associated with channel
Description:	Monitor bit associated with channel. This file is available only
		for performance critical channels (storage, network, etc.) that
		use the monitor page mechanism.
Users:		Debugging tools and userspace drivers

What:		/sys/bus/vmbus/devices/<UUID>/channels/<N>/ring
+4 −4
Original line number Diff line number Diff line
@@ -931,8 +931,8 @@ enum lru_status binder_alloc_free_page(struct list_head *item,
	mm = alloc->vma_vm_mm;
	if (!mmget_not_zero(mm))
		goto err_mmget;
	if (!down_write_trylock(&mm->mmap_sem))
		goto err_down_write_mmap_sem_failed;
	if (!down_read_trylock(&mm->mmap_sem))
		goto err_down_read_mmap_sem_failed;
	vma = binder_alloc_get_vma(alloc);

	list_lru_isolate(lru, item);
@@ -945,7 +945,7 @@ enum lru_status binder_alloc_free_page(struct list_head *item,

		trace_binder_unmap_user_end(alloc, index);
	}
	up_write(&mm->mmap_sem);
	up_read(&mm->mmap_sem);
	mmput(mm);

	trace_binder_unmap_kernel_start(alloc, index);
@@ -959,7 +959,7 @@ enum lru_status binder_alloc_free_page(struct list_head *item,
	mutex_unlock(&alloc->mutex);
	return LRU_REMOVED_RETRY;

err_down_write_mmap_sem_failed:
err_down_read_mmap_sem_failed:
	mmput_async(mm);
err_mmget:
err_page_already_freed:
+3 −0
Original line number Diff line number Diff line
@@ -336,6 +336,8 @@ static struct vmbus_channel *alloc_channel(void)
	tasklet_init(&channel->callback_event,
		     vmbus_on_event, (unsigned long)channel);

	hv_ringbuffer_pre_init(channel);

	return channel;
}

@@ -345,6 +347,7 @@ static struct vmbus_channel *alloc_channel(void)
static void free_channel(struct vmbus_channel *channel)
{
	tasklet_kill(&channel->callback_event);
	vmbus_remove_channel_attr_group(channel);

	kobject_put(&channel->kobj);
}
+0 −1
Original line number Diff line number Diff line
@@ -408,7 +408,6 @@ int hv_synic_cleanup(unsigned int cpu)

		clockevents_unbind_device(hv_cpu->clk_evt, cpu);
		hv_ce_shutdown(hv_cpu->clk_evt);
		put_cpu_ptr(hv_cpu);
	}

	hv_get_synint_state(VMBUS_MESSAGE_SINT, shared_sint.as_uint64);
+3 −0
Original line number Diff line number Diff line
@@ -193,6 +193,7 @@ extern void hv_synic_clockevents_cleanup(void);

/* Interface */

void hv_ringbuffer_pre_init(struct vmbus_channel *channel);

int hv_ringbuffer_init(struct hv_ring_buffer_info *ring_info,
		       struct page *pages, u32 pagecnt);
@@ -321,6 +322,8 @@ void vmbus_device_unregister(struct hv_device *device_obj);
int vmbus_add_channel_kobj(struct hv_device *device_obj,
			   struct vmbus_channel *channel);

void vmbus_remove_channel_attr_group(struct vmbus_channel *channel);

struct vmbus_channel *relid2channel(u32 relid);

void vmbus_free_channels(void);
Loading