forked from rpms/kernel
		
	Linux v4.14-rc3-315-g0f380715e51f
This commit is contained in:
		
							parent
							
								
									75e32faeef
								
							
						
					
					
						commit
						1d26b74c88
					
				| @ -1,74 +0,0 @@ | ||||
| From patchwork Sun Jul 23 01:15:09 2017 | ||||
| Content-Type: text/plain; charset="utf-8" | ||||
| MIME-Version: 1.0 | ||||
| Content-Transfer-Encoding: 7bit | ||||
| Subject: HID: rmi: Make sure the HID device is opened on resume | ||||
| From: Lyude <lyude@redhat.com> | ||||
| X-Patchwork-Id: 9858267 | ||||
| Message-Id: <20170723011509.23651-1-lyude@redhat.com> | ||||
| To: linux-input@vger.kernel.org | ||||
| Cc: Lyude <lyude@redhat.com>, Andrew Duggan <aduggan@synaptics.com>, | ||||
|  stable@vger.kernel.org, Jiri Kosina <jikos@kernel.org>, | ||||
|  Benjamin Tissoires <benjamin.tissoires@redhat.com>, | ||||
|  linux-kernel@vger.kernel.org | ||||
| Date: Sat, 22 Jul 2017 21:15:09 -0400 | ||||
| 
 | ||||
| So it looks like that suspend/resume has actually always been broken on | ||||
| hid-rmi. The fact it worked was a rather silly coincidence that was | ||||
| relying on the HID device to already be opened upon resume. This means | ||||
| that so long as anything was reading the /dev/input/eventX node for for | ||||
| an RMI device, it would suspend and resume correctly. As well, if | ||||
| nothing happened to be keeping the HID device away it would shut off, | ||||
| then the RMI driver would get confused on resume when it stopped | ||||
| responding and explode. | ||||
| 
 | ||||
| So, call hid_hw_open() in rmi_post_resume() so we make sure that the | ||||
| device is alive before we try talking to it. | ||||
| 
 | ||||
| This fixes RMI device suspend/resume over HID. | ||||
| 
 | ||||
| Signed-off-by: Lyude <lyude@redhat.com> | ||||
| Cc: Andrew Duggan <aduggan@synaptics.com> | ||||
| Cc: stable@vger.kernel.org | ||||
| ---
 | ||||
|  drivers/hid/hid-rmi.c | 15 +++++++++++---- | ||||
|  1 file changed, 11 insertions(+), 4 deletions(-) | ||||
| 
 | ||||
| diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c
 | ||||
| index 5b40c2614599..e7d124f9a27f 100644
 | ||||
| --- a/drivers/hid/hid-rmi.c
 | ||||
| +++ b/drivers/hid/hid-rmi.c
 | ||||
| @@ -431,22 +431,29 @@ static int rmi_post_resume(struct hid_device *hdev)
 | ||||
|  { | ||||
|  	struct rmi_data *data = hid_get_drvdata(hdev); | ||||
|  	struct rmi_device *rmi_dev = data->xport.rmi_dev; | ||||
| -	int ret;
 | ||||
| +	int ret = 0;
 | ||||
|   | ||||
|  	if (!(data->device_flags & RMI_DEVICE)) | ||||
|  		return 0; | ||||
|   | ||||
| -	ret = rmi_reset_attn_mode(hdev);
 | ||||
| +	/* Make sure the HID device is ready to receive events */
 | ||||
| +	ret = hid_hw_open(hdev);
 | ||||
|  	if (ret) | ||||
|  		return ret; | ||||
|   | ||||
| +	ret = rmi_reset_attn_mode(hdev);
 | ||||
| +	if (ret)
 | ||||
| +		goto out;
 | ||||
| +
 | ||||
|  	ret = rmi_driver_resume(rmi_dev, false); | ||||
|  	if (ret) { | ||||
|  		hid_warn(hdev, "Failed to resume device: %d\n", ret); | ||||
| -		return ret;
 | ||||
| +		goto out;
 | ||||
|  	} | ||||
|   | ||||
| -	return 0;
 | ||||
| +out:
 | ||||
| +	hid_hw_close(hdev);
 | ||||
| +	return ret;
 | ||||
|  } | ||||
|  #endif /* CONFIG_PM */ | ||||
|   | ||||
							
								
								
									
										2
									
								
								gitrev
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								gitrev
									
									
									
									
									
								
							| @ -1 +1 @@ | ||||
| d81fa669e3de7eb8a631d7d95dac5fbcb2bf9d4e | ||||
| 0f380715e51f5ff418cfccb4cd0d4fe4c48c3241 | ||||
|  | ||||
| @ -69,7 +69,7 @@ Summary: The Linux kernel | ||||
| # The rc snapshot level | ||||
| %global rcrev 3 | ||||
| # The git snapshot level | ||||
| %define gitrev 2 | ||||
| %define gitrev 3 | ||||
| # Set rpm version accordingly | ||||
| %define rpmversion 4.%{upstream_sublevel}.0 | ||||
| %endif | ||||
| @ -634,7 +634,6 @@ Patch610: 0010-Input-silead-Add-support-for-capactive-home-button-f.patch | ||||
| Patch617: Fix-for-module-sig-verification.patch | ||||
| 
 | ||||
| # rhbz 1431375 | ||||
| Patch618: HID-rmi-Make-sure-the-HID-device-is-opened-on-resume.patch | ||||
| Patch619: input-rmi4-remove-the-need-for-artifical-IRQ.patch | ||||
| 
 | ||||
| # END OF PATCH DEFINITIONS | ||||
| @ -2191,6 +2190,9 @@ fi | ||||
| # | ||||
| # | ||||
| %changelog | ||||
| * Thu Oct 05 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc3.git3.1 | ||||
| - Linux v4.14-rc3-315-g0f380715e51f | ||||
| 
 | ||||
| * Wed Oct 04 2017 Justin M. Forbes <jforbes@redhat.com> - 4.14.0-0.rc3.git2.1 | ||||
| - Linux v4.14-rc3-102-gd81fa669e3de | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										2
									
								
								sources
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								sources
									
									
									
									
									
								
							| @ -1,4 +1,4 @@ | ||||
| SHA512 (linux-4.13.tar.xz) = a557c2f0303ae618910b7106ff63d9978afddf470f03cb72aa748213e099a0ecd5f3119aea6cbd7b61df30ca6ef3ec57044d524b7babbaabddf8b08b8bafa7d2 | ||||
| SHA512 (perf-man-4.13.tar.gz) = 9bcc2cd8e56ec583ed2d8e0b0c88e7a94035a1915e40b3177bb02d6c0f10ddd4df9b097b1f5af59efc624226b613e240ddba8ddc2156f3682f992d5455fc5c03 | ||||
| SHA512 (patch-4.14-rc3.xz) = 2bf9cdb90d4d143cb9e407cf7a469a48502f38db39be962f46a8dcbe2d84de15b60e1b82a0e3de42cc511d62953fc09749566857ed13b2a8a5a08d2187feb2f8 | ||||
| SHA512 (patch-4.14-rc3-git2.xz) = 04adbc2f5fb3f6253f77218097574ac572a1a6c96f1f0ef44638c44fff100c3c0dfe236152ce7c78581eb6e15a96cc05231809878c837eee4c2952494ca94269 | ||||
| SHA512 (patch-4.14-rc3-git3.xz) = ed2df0d371b25d123760f48accafd149ae832f992d1abecc13c3012b24411fd91abc158a56e97f946cbc78a89aa218b9161224eda2a1c3ce8c3e6a184601e3a0 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user