public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ben Hutchings <ben@decadent.org.uk>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: akpm@linux-foundation.org, Denis Kirjanov <kda@linux-powerpc.org>,
	"Hans Verkuil" <hans.verkuil@cisco.com>,
	"Mauro Carvalho Chehab" <mchehab@osg.samsung.com>
Subject: [PATCH 3.16 021/148] [media] usbvision: remove power_on_at_open and timed power off
Date: Sat, 08 Feb 2020 18:19:20 +0000	[thread overview]
Message-ID: <lsq.1581185940.299687226@decadent.org.uk> (raw)
In-Reply-To: <lsq.1581185939.857586636@decadent.org.uk>

3.16.82-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Hans Verkuil <hans.verkuil@cisco.com>

commit 62e259493d779b0e2c1a675ab733136511310821 upstream.

This causes lots of problems and is *very* slow as well.

One of the main problems is that this prohibits the use of the control
framework since subdevs will be unloaded on power off which is not allowed
as long as they are used by a usb device.

Apparently the reason for doing this is to turn off a noisy tuner. My hardware
has no problem with that, and I wonder whether the hardware with that noisy
tuner wasn't just functioning improperly as I have never heard of noisy tuners.

Contact me if you have one of those devices and I can take a look whether the
tuner can't be powered off if necessary by letting the tuner subdevice go
into standby mode. Unloading the tuner module is just evil and is not the
right approach.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
[bwh: Backported to 3.16 as dependency of locking fixes. Our version of
 usbvision_init_power_off_timer() was slightly different.]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
--- a/drivers/media/usb/usbvision/usbvision-core.c
+++ b/drivers/media/usb/usbvision/usbvision-core.c
@@ -2167,56 +2167,6 @@ int usbvision_power_on(struct usb_usbvis
 
 
 /*
- * usbvision timer stuff
- */
-
-/* to call usbvision_power_off from task queue */
-static void call_usbvision_power_off(struct work_struct *work)
-{
-	struct usb_usbvision *usbvision = container_of(work, struct usb_usbvision, power_off_work);
-
-	PDEBUG(DBG_FUNC, "");
-	if (mutex_lock_interruptible(&usbvision->v4l2_lock))
-		return;
-
-	if (usbvision->user == 0) {
-		usbvision_i2c_unregister(usbvision);
-
-		usbvision_power_off(usbvision);
-		usbvision->initialized = 0;
-	}
-	mutex_unlock(&usbvision->v4l2_lock);
-}
-
-static void usbvision_power_off_timer(unsigned long data)
-{
-	struct usb_usbvision *usbvision = (void *)data;
-
-	PDEBUG(DBG_FUNC, "");
-	del_timer(&usbvision->power_off_timer);
-	INIT_WORK(&usbvision->power_off_work, call_usbvision_power_off);
-	(void) schedule_work(&usbvision->power_off_work);
-}
-
-void usbvision_init_power_off_timer(struct usb_usbvision *usbvision)
-{
-	init_timer(&usbvision->power_off_timer);
-	usbvision->power_off_timer.data = (long)usbvision;
-	usbvision->power_off_timer.function = usbvision_power_off_timer;
-}
-
-void usbvision_set_power_off_timer(struct usb_usbvision *usbvision)
-{
-	mod_timer(&usbvision->power_off_timer, jiffies + USBVISION_POWEROFF_TIME);
-}
-
-void usbvision_reset_power_off_timer(struct usb_usbvision *usbvision)
-{
-	if (timer_pending(&usbvision->power_off_timer))
-		del_timer(&usbvision->power_off_timer);
-}
-
-/*
  * usbvision_begin_streaming()
  * Sure you have to put bit 7 to 0, if not incoming frames are droped, but no
  * idea about the rest
--- a/drivers/media/usb/usbvision/usbvision-video.c
+++ b/drivers/media/usb/usbvision/usbvision-video.c
@@ -122,8 +122,6 @@ static void usbvision_release(struct usb
 static int isoc_mode = ISOC_MODE_COMPRESS;
 /* Set the default Debug Mode of the device driver */
 static int video_debug;
-/* Set the default device to power on at startup */
-static int power_on_at_open = 1;
 /* Sequential Number of Video Device */
 static int video_nr = -1;
 /* Sequential Number of Radio Device */
@@ -134,13 +132,11 @@ static int radio_nr = -1;
 /* Showing parameters under SYSFS */
 module_param(isoc_mode, int, 0444);
 module_param(video_debug, int, 0444);
-module_param(power_on_at_open, int, 0444);
 module_param(video_nr, int, 0444);
 module_param(radio_nr, int, 0444);
 
 MODULE_PARM_DESC(isoc_mode, " Set the default format for ISOC endpoint.  Default: 0x60 (Compression On)");
 MODULE_PARM_DESC(video_debug, " Set the default Debug Mode of the device driver.  Default: 0 (Off)");
-MODULE_PARM_DESC(power_on_at_open, " Set the default device to power on when device is opened.  Default: 1 (On)");
 MODULE_PARM_DESC(video_nr, "Set video device number (/dev/videoX).  Default: -1 (autodetect)");
 MODULE_PARM_DESC(radio_nr, "Set radio device number (/dev/radioX).  Default: -1 (autodetect)");
 
@@ -351,11 +347,10 @@ static int usbvision_v4l2_open(struct fi
 
 	if (mutex_lock_interruptible(&usbvision->v4l2_lock))
 		return -ERESTARTSYS;
-	usbvision_reset_power_off_timer(usbvision);
 
-	if (usbvision->user)
+	if (usbvision->user) {
 		err_code = -EBUSY;
-	else {
+	} else {
 		/* Allocate memory for the scratch ring buffer */
 		err_code = usbvision_scratch_alloc(usbvision);
 		if (isoc_mode == ISOC_MODE_COMPRESS) {
@@ -372,11 +367,6 @@ static int usbvision_v4l2_open(struct fi
 
 	/* If so far no errors then we shall start the camera */
 	if (!err_code) {
-		if (usbvision->power == 0) {
-			usbvision_power_on(usbvision);
-			usbvision_i2c_register(usbvision);
-		}
-
 		/* Send init sequence only once, it's large! */
 		if (!usbvision->initialized) {
 			int setup_ok = 0;
@@ -392,18 +382,13 @@ static int usbvision_v4l2_open(struct fi
 			err_code = usbvision_init_isoc(usbvision);
 			/* device must be initialized before isoc transfer */
 			usbvision_muxsel(usbvision, 0);
+
+			/* prepare queues */
+			usbvision_empty_framequeues(usbvision);
 			usbvision->user++;
-		} else {
-			if (power_on_at_open) {
-				usbvision_i2c_unregister(usbvision);
-				usbvision_power_off(usbvision);
-				usbvision->initialized = 0;
-			}
 		}
 	}
 
-	/* prepare queues */
-	usbvision_empty_framequeues(usbvision);
 	mutex_unlock(&usbvision->v4l2_lock);
 
 	PDEBUG(DBG_IO, "success");
@@ -436,13 +421,6 @@ static int usbvision_v4l2_close(struct f
 
 	usbvision->user--;
 
-	if (power_on_at_open) {
-		/* power off in a little while
-		   to avoid off/on every close/open short sequences */
-		usbvision_set_power_off_timer(usbvision);
-		usbvision->initialized = 0;
-	}
-
 	if (usbvision->remove_pending) {
 		printk(KERN_INFO "%s: Final disconnect\n", __func__);
 		usbvision_release(usbvision);
@@ -1160,14 +1138,6 @@ static int usbvision_radio_open(struct f
 				__func__);
 		err_code = -EBUSY;
 	} else {
-		if (power_on_at_open) {
-			usbvision_reset_power_off_timer(usbvision);
-			if (usbvision->power == 0) {
-				usbvision_power_on(usbvision);
-				usbvision_i2c_register(usbvision);
-			}
-		}
-
 		/* Alternate interface 1 is is the biggest frame size */
 		err_code = usbvision_set_alternate(usbvision);
 		if (err_code < 0) {
@@ -1182,14 +1152,6 @@ static int usbvision_radio_open(struct f
 		usbvision_set_audio(usbvision, USBVISION_AUDIO_RADIO);
 		usbvision->user++;
 	}
-
-	if (err_code) {
-		if (power_on_at_open) {
-			usbvision_i2c_unregister(usbvision);
-			usbvision_power_off(usbvision);
-			usbvision->initialized = 0;
-		}
-	}
 out:
 	mutex_unlock(&usbvision->v4l2_lock);
 	return err_code;
@@ -1213,11 +1175,6 @@ static int usbvision_radio_close(struct
 	usbvision->radio = 0;
 	usbvision->user--;
 
-	if (power_on_at_open) {
-		usbvision_set_power_off_timer(usbvision);
-		usbvision->initialized = 0;
-	}
-
 	if (usbvision->remove_pending) {
 		printk(KERN_INFO "%s: Final disconnect\n", __func__);
 		usbvision_release(usbvision);
@@ -1432,8 +1389,6 @@ static struct usb_usbvision *usbvision_a
 		goto err_unreg;
 	init_waitqueue_head(&usbvision->ctrl_urb_wq);
 
-	usbvision_init_power_off_timer(usbvision);
-
 	return usbvision;
 
 err_unreg:
@@ -1454,8 +1409,6 @@ static void usbvision_release(struct usb
 {
 	PDEBUG(DBG_PROBE, "");
 
-	usbvision_reset_power_off_timer(usbvision);
-
 	usbvision->initialized = 0;
 
 	usbvision_remove_sysfs(usbvision->vdev);
@@ -1499,11 +1452,9 @@ static void usbvision_configure_video(st
 	/* first switch off audio */
 	if (usbvision_device_data[model].audio_channels > 0)
 		usbvision_audio_off(usbvision);
-	if (!power_on_at_open) {
-		/* and then power up the noisy tuner */
-		usbvision_power_on(usbvision);
-		usbvision_i2c_register(usbvision);
-	}
+	/* and then power up the tuner */
+	usbvision_power_on(usbvision);
+	usbvision_i2c_register(usbvision);
 }
 
 /*
@@ -1671,11 +1622,7 @@ static void usbvision_disconnect(struct
 	usbvision_stop_isoc(usbvision);
 
 	v4l2_device_disconnect(&usbvision->v4l2_dev);
-
-	if (usbvision->power) {
-		usbvision_i2c_unregister(usbvision);
-		usbvision_power_off(usbvision);
-	}
+	usbvision_i2c_unregister(usbvision);
 	usbvision->remove_pending = 1;	/* Now all ISO data will be ignored */
 
 	usb_put_dev(usbvision->dev);
--- a/drivers/media/usb/usbvision/usbvision.h
+++ b/drivers/media/usb/usbvision/usbvision.h
@@ -391,8 +391,6 @@ struct usb_usbvision {
 	unsigned char iface_alt;					/* Alt settings */
 	unsigned char vin_reg2_preset;
 	struct mutex v4l2_lock;
-	struct timer_list power_off_timer;
-	struct work_struct power_off_work;
 	int power;							/* is the device powered on? */
 	int user;							/* user count for exclusive use */
 	int initialized;						/* Had we already sent init sequence? */
@@ -510,9 +508,6 @@ int usbvision_muxsel(struct usb_usbvisio
 int usbvision_set_input(struct usb_usbvision *usbvision);
 int usbvision_set_output(struct usb_usbvision *usbvision, int width, int height);
 
-void usbvision_init_power_off_timer(struct usb_usbvision *usbvision);
-void usbvision_set_power_off_timer(struct usb_usbvision *usbvision);
-void usbvision_reset_power_off_timer(struct usb_usbvision *usbvision);
 int usbvision_power_off(struct usb_usbvision *usbvision);
 int usbvision_power_on(struct usb_usbvision *usbvision);
 


  parent reply	other threads:[~2020-02-08 18:37 UTC|newest]

Thread overview: 151+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-08 18:18 [PATCH 3.16 000/148] 3.16.82-rc1 review Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 001/148] ALSA: line6: Drop superfluous snd_device for PCM Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 002/148] ALSA: line6: Fix memory leak at line6_init_pcm() error path Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 003/148] x86: Treat R_X86_64_PLT32 as R_X86_64_PC32 Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 004/148] pstore/ram: Write new dumps to start of recycled zones Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 005/148] net: davinci_cpdma: use dma_addr_t for DMA address Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 006/148] stmmac: fix oversized frame reception Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 007/148] net: stmmac: use correct DMA buffer size in the RX descriptor Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 008/148] net: stmmac: don't stop NAPI processing when dropping a packet Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 009/148] workqueue: Fix spurious sanity check failures in destroy_workqueue() Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 010/148] ath9k_hw: fix uninitialized variable data Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 011/148] pinctrl: samsung: Fix device node refcount leaks in S3C24xx wakeup controller init Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 012/148] pinctrl: samsung: Fix device node refcount leaks in S3C64xx " Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 013/148] media: ov6650: Fix incorrect use of JPEG colorspace Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 014/148] media: ov6650: Fix stored frame format not in sync with hardware Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 015/148] tools/power/cpupower: Fix initializer override in hsw_ext_cstates Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 016/148] cw1200: Fix a signedness bug in cw1200_load_firmware() Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 017/148] ar5523: check NULL before memcpy() in ar5523_cmd() Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 018/148] hwrng: omap3-rom - Call clk_disable_unprepare() on exit only if not idled Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 019/148] drm/i810: Prevent underflow in ioctl Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 020/148] ARM: dts: s3c64xx: Fix init order of clock providers Ben Hutchings
2020-02-08 18:19 ` Ben Hutchings [this message]
2020-02-08 18:19 ` [PATCH 3.16 022/148] [media] usbvision-video: two use after frees Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 023/148] [media] usbvision: fix locking error Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 024/148] " Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 025/148] media: usbvision: Fix invalid accesses after device disconnect Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 026/148] media: usbvision: Fix races among open, close, and disconnect Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 027/148] sunrpc: fix crash when cache_head become valid before update Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 028/148] PCI: Fix Intel ACS quirk UPDCR register address Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 029/148] Bluetooth: hci_core: fix init for HCI_USER_CHANNEL Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 030/148] spi: atmel: fix handling of cs_change set on non-last xfer Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 031/148] usb: gadget: u_serial: add missing port entry locking Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 032/148] compat_ioctl: handle SIOCOUTQNSD Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 033/148] x86/ioapic: Prevent inconsistent state when moving an interrupt Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 034/148] xfs: Sanity check flags of Q_XQUOTARM call Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 035/148] cpuidle: Do not unset the driver if it is there already Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 036/148] scsi: csiostor: Don't enable IRQs too early Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 037/148] scsi: esas2r: unlock on error in esas2r_nvram_read_direct() Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 038/148] scsi: zfcp: trace channel log even for FCP command responses Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 039/148] clk: samsung: exynos5420: Preserve CPU clocks configuration during suspend/resume Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 040/148] mtd: spear_smi: Fix Write Burst mode Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 041/148] ARM: tegra: Fix FLOW_CTLR_HALT register clobbering by tegra_resume() Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 042/148] quota: fix livelock in dquot_writeback_dquots Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 043/148] quota: Check that quota is not dirty before release Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 044/148] scsi: core: scsi_trace: Use get_unaligned_be*() Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 045/148] blk-mq: fix deadlock when reading cpu_list Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 046/148] blk-mq: avoid sysfs buffer overflow with too many CPU cores Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 047/148] iio: imu: adis16480: assign bias value only if operation succeeded Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 048/148] blk-mq: make sure that line break can be printed Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 049/148] tty: serial: msm_serial: Fix flow control Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 050/148] ext2: check err when partial != NULL Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 051/148] media: radio: wl1273: fix interrupt masking on release Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 052/148] media: exynos4-is: Fix recursive locking in isp_video_release() Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 053/148] staging: rtl8192e: fix potential use after free Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 054/148] jbd2: Fix possible overflow in jbd2_log_space_left() Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 055/148] bnx2x: Enable Multi-Cos feature Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 056/148] PM / devfreq: Lock devfreq in trans_stat_show Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 057/148] scsi: tracing: Fix handling of TRANSFER LENGTH == 0 for READ(6) and WRITE(6) Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 058/148] USB: serial: mos7840: add USB ID to support Moxa UPort 2210 Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 059/148] perf probe: Fix to handle optimized not-inlined functions Ben Hutchings
2020-02-08 18:19 ` [PATCH 3.16 060/148] perf probe: Fix to show lines of sys_ functions correctly Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 061/148] perf probe: Fix to add missed brace around if block Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 062/148] perf probe: Skip if the function address is 0 Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 063/148] perf probe: Fix to find range-only function instance Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 064/148] perf probe: Fix to show function entry line as probe-able Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 065/148] perf probe: Fix wrong address verification Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 066/148] perf probe: Fix to probe a function which has no entry pc Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 067/148] perf probe: Fix to probe an inline " Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 068/148] perf probe: Fix to list probe event with correct line number Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 069/148] perf probe: Fix to show inlined function callsite without entry_pc Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 070/148] usb: gadget: pch_udc: fix use after free Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 071/148] usb: Allow USB device to be warm reset in suspended state Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 072/148] appledisplay: fix error handling in the scheduled work Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 073/148] perf probe: Skip end-of-sequence and non statement lines Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 074/148] perf probe: Filter out instances except for inlined subroutine and subprogram Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 075/148] perf probe: Fix to show calling lines of inlined functions Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 076/148] perf probe: Skip overlapped location on searching variables Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 077/148] powerpc: Allow flush_icache_range to work across ranges >4GB Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 078/148] powerpc: Allow 64bit VDSO __kernel_sync_dicache " Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 079/148] ARM: ux500: remove unused regulator data Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 080/148] regulator: ab8500: Remove AB8505 USB regulator Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 081/148] regulator: ab8500: Remove SYSCLKREQ from enum ab8505_regulator_id Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 082/148] inetpeer: fix data-race in inet_putpeer / inet_putpeer Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 083/148] iio: adis16480: Add debugfs_reg_access entry Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 084/148] drm/i915/userptr: Try to acquire the page lock around set_page_dirty() Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 085/148] USB: serial: mos7720: fix remote wakeup Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 086/148] USB: serial: mos7840: " Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 087/148] fuse: verify attributes Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 088/148] fuse: verify nlink Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 089/148] ASoC: Jack: Fix NULL pointer dereference in snd_soc_jack_report Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 090/148] scsi: lpfc: fix: Coverity: lpfc_cmpl_els_rsp(): Null pointer dereferences Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 091/148] tty: serial: imx: use the sg count from dma_map_sg Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 092/148] tty: serial: pch_uart: correct usage of dma_unmap_sg Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 093/148] RDMA/srpt: Report the SCSI residual to the initiator Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 094/148] binder: Handle start==NULL in binder_update_page_range() Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 095/148] USB: serial: ftdi_sio: add device IDs for U-Blox C099-F9P Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 096/148] futex: Prevent robust futex exit race Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 097/148] x86/speculation: Fix incorrect MDS/TAA mitigation status Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 098/148] usb-serial: cp201x: support Mark-10 digital force gauge Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 099/148] USB: uas: honor flag to avoid CAPACITY16 Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 100/148] USB: uas: heed CAPACITY_HEURISTICS Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 101/148] USB: documentation: flags on usb-storage versus UAS Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 102/148] Btrfs: fix negative subv_writers counter and data space leak after buffered write Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 103/148] btrfs: check page->mapping when loading free space cache Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 104/148] serial: ifx6x60: add missed pm_runtime_disable Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 105/148] rtc: msm6242: Fix reading of 10-hour digit Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 106/148] Bluetooth: delete a stray unlock Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 107/148] ext4: work around deleting a file with i_nlink == 0 safely Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 108/148] scsi: qla4xxx: fix double free bug Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 109/148] scsi: bnx2i: fix potential use after free Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 110/148] iwlwifi: check kasprintf() return value Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 111/148] serial: serial_core: Perform NULL checks for break_ctl ops Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 112/148] KVM: x86: fix presentation of TSX feature in ARCH_CAPABILITIES Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 113/148] KVM: x86: do not modify masked bits of shared MSRs Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 114/148] x86/PCI: Avoid AMD FCH XHCI USB PME# from D0 defect Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 115/148] ALSA: cs4236: fix error return comparison of an unsigned integer Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 116/148] libtraceevent: Fix memory leakage in copy_filter_type Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 117/148] drm/radeon: fix bad DMA from INTERRUPT_CNTL2 Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 118/148] tty: vt: keyboard: reject invalid keycodes Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 119/148] CIFS: Respect O_SYNC and O_DIRECT flags during reconnect Ben Hutchings
2020-02-08 18:20 ` [PATCH 3.16 120/148] CIFS: Fix SMB2 oplock break processing Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 121/148] platform/x86: hp-wmi: Fix ACPI errors caused by too small buffer Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 122/148] platform/x86: hp-wmi: Fix ACPI errors caused by passing 0 as input size Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 123/148] macvlan: schedule bc_work even if error Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 124/148] PCI/MSI: Fix incorrect MSI-X masking on resume Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 125/148] xtensa: fix TLB sanity checker Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 126/148] perf regs: Make perf_reg_name() return "unknown" instead of NULL Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 127/148] ACPI / osl: speedup grace period in acpi_os_map_cleanup Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 128/148] ACPI: OSL: only free map once in osl.c Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 129/148] ACPI: bus: Fix NULL pointer check in acpi_bus_get_private_data() Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 130/148] openvswitch: drop unneeded BUG_ON() in ovs_flow_cmd_build_info() Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 131/148] openvswitch: remove another BUG_ON() Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 132/148] cifs: Fix cifsInodeInfo lock_sem deadlock when reconnect occurs Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 133/148] CIFS: Fix NULL-pointer dereference in smb2_push_mandatory_locks Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 134/148] net: bridge: deny dev_set_mac_address() when unregistering Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 135/148] drm/radeon: fix r1xx/r2xx register checker for POT textures Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 136/148] xen/blkback: Avoid unmapping unmapped grant pages Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 137/148] hrtimer: Get rid of the resolution field in hrtimer_clock_base Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 138/148] powerpc: Fix vDSO clock_getres() Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 139/148] ALSA: pcm: oss: Avoid potential buffer overflows Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 140/148] tcp: md5: fix potential overestimation of TCP option space Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 141/148] tcp: syncookies: extend validity range Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 142/148] tcp: fix rejected syncookies due to stale timestamps Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 143/148] tcp: Protect accesses to .ts_recent_stamp with {READ,WRITE}_ONCE() Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 144/148] inet: protect against too small mtu values Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 145/148] deb-pkg: remove obsolete -isp option to dpkg-gencontrol Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 146/148] mmc: sdhci-s3c: Check if clk_set_rate() succeeds Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 147/148] mmc: sdhci-s3c: solve problem with sleeping in atomic context Ben Hutchings
2020-02-08 18:21 ` [PATCH 3.16 148/148] s390: Fix unmatched preempt_disable() on exit Ben Hutchings
2020-02-08 23:10 ` [PATCH 3.16 000/148] 3.16.82-rc1 review Guenter Roeck
2020-02-09 18:51   ` Ben Hutchings

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=lsq.1581185940.299687226@decadent.org.uk \
    --to=ben@decadent.org.uk \
    --cc=akpm@linux-foundation.org \
    --cc=hans.verkuil@cisco.com \
    --cc=kda@linux-powerpc.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mchehab@osg.samsung.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox