mirror of
https://github.com/Ysurac/openmptcprouter.git
synced 2025-02-14 20:31:54 +00:00
Remove 4.19 not needed patches
This commit is contained in:
parent
130a3c1507
commit
3a7f9c49e3
2 changed files with 0 additions and 152 deletions
|
@ -1,102 +0,0 @@
|
|||
From b954ef0dbb6bab97d22c921a79768e9207440fca Mon Sep 17 00:00:00 2001
|
||||
From: James Hutchinson <jahutchinson99@googlemail.com>
|
||||
Date: Sun, 13 Jan 2019 16:13:47 -0500
|
||||
Subject: [PATCH 433/493] media: m88ds3103: serialize reset messages in
|
||||
m88ds3103_set_frontend
|
||||
|
||||
commit 981fbe3da20a6f35f17977453bce7dfc1664d74f upstream.
|
||||
|
||||
Ref: https://bugzilla.kernel.org/show_bug.cgi?id=199323
|
||||
|
||||
Users are experiencing problems with the DVBSky S960/S960C USB devices
|
||||
since the following commit:
|
||||
|
||||
9d659ae: ("locking/mutex: Add lock handoff to avoid starvation")
|
||||
|
||||
The device malfunctions after running for an indeterminable period of
|
||||
time, and the problem can only be cleared by rebooting the machine.
|
||||
|
||||
It is possible to encourage the problem to surface by blocking the
|
||||
signal to the LNB.
|
||||
|
||||
Further debugging revealed the cause of the problem.
|
||||
|
||||
In the following capture:
|
||||
- thread #1325 is running m88ds3103_set_frontend
|
||||
- thread #42 is running ts2020_stat_work
|
||||
|
||||
a> [1325] usb 1-1: dvb_usb_v2_generic_io: >>> 08 68 02 07 80
|
||||
[1325] usb 1-1: dvb_usb_v2_generic_io: <<< 08
|
||||
[42] usb 1-1: dvb_usb_v2_generic_io: >>> 09 01 01 68 3f
|
||||
[42] usb 1-1: dvb_usb_v2_generic_io: <<< 08 ff
|
||||
[42] usb 1-1: dvb_usb_v2_generic_io: >>> 08 68 02 03 11
|
||||
[42] usb 1-1: dvb_usb_v2_generic_io: <<< 07
|
||||
[42] usb 1-1: dvb_usb_v2_generic_io: >>> 09 01 01 60 3d
|
||||
[42] usb 1-1: dvb_usb_v2_generic_io: <<< 07 ff
|
||||
b> [1325] usb 1-1: dvb_usb_v2_generic_io: >>> 08 68 02 07 00
|
||||
[1325] usb 1-1: dvb_usb_v2_generic_io: <<< 07
|
||||
[42] usb 1-1: dvb_usb_v2_generic_io: >>> 08 68 02 03 11
|
||||
[42] usb 1-1: dvb_usb_v2_generic_io: <<< 07
|
||||
[42] usb 1-1: dvb_usb_v2_generic_io: >>> 09 01 01 60 21
|
||||
[42] usb 1-1: dvb_usb_v2_generic_io: <<< 07 ff
|
||||
[42] usb 1-1: dvb_usb_v2_generic_io: >>> 08 68 02 03 11
|
||||
[42] usb 1-1: dvb_usb_v2_generic_io: <<< 07
|
||||
[42] usb 1-1: dvb_usb_v2_generic_io: >>> 09 01 01 60 66
|
||||
[42] usb 1-1: dvb_usb_v2_generic_io: <<< 07 ff
|
||||
[1325] usb 1-1: dvb_usb_v2_generic_io: >>> 08 68 02 03 11
|
||||
[1325] usb 1-1: dvb_usb_v2_generic_io: <<< 07
|
||||
[1325] usb 1-1: dvb_usb_v2_generic_io: >>> 08 60 02 10 0b
|
||||
[1325] usb 1-1: dvb_usb_v2_generic_io: <<< 07
|
||||
|
||||
Two i2c messages are sent to perform a reset in m88ds3103_set_frontend:
|
||||
|
||||
a. 0x07, 0x80
|
||||
b. 0x07, 0x00
|
||||
|
||||
However, as shown in the capture, the regmap mutex is being handed over
|
||||
to another thread (ts2020_stat_work) in between these two messages.
|
||||
|
||||
>From here, the device responds to every i2c message with an 07 message,
|
||||
and will only return to normal operation following a power cycle.
|
||||
|
||||
Use regmap_multi_reg_write to group the two reset messages, ensuring
|
||||
both are processed before the regmap mutex is unlocked.
|
||||
|
||||
Signed-off-by: James Hutchinson <jahutchinson99@googlemail.com>
|
||||
Reviewed-by: Antti Palosaari <crope@iki.fi>
|
||||
Signed-off-by: Sean Young <sean@mess.org>
|
||||
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
||||
---
|
||||
drivers/media/dvb-frontends/m88ds3103.c | 9 ++++-----
|
||||
1 file changed, 4 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/drivers/media/dvb-frontends/m88ds3103.c b/drivers/media/dvb-frontends/m88ds3103.c
|
||||
index dffd2d4bf1c8..c25c92797408 100644
|
||||
--- a/drivers/media/dvb-frontends/m88ds3103.c
|
||||
+++ b/drivers/media/dvb-frontends/m88ds3103.c
|
||||
@@ -309,6 +309,9 @@ static int m88ds3103_set_frontend(struct dvb_frontend *fe)
|
||||
u16 u16tmp;
|
||||
u32 tuner_frequency_khz, target_mclk;
|
||||
s32 s32tmp;
|
||||
+ static const struct reg_sequence reset_buf[] = {
|
||||
+ {0x07, 0x80}, {0x07, 0x00}
|
||||
+ };
|
||||
|
||||
dev_dbg(&client->dev,
|
||||
"delivery_system=%d modulation=%d frequency=%u symbol_rate=%d inversion=%d pilot=%d rolloff=%d\n",
|
||||
@@ -321,11 +324,7 @@ static int m88ds3103_set_frontend(struct dvb_frontend *fe)
|
||||
}
|
||||
|
||||
/* reset */
|
||||
- ret = regmap_write(dev->regmap, 0x07, 0x80);
|
||||
- if (ret)
|
||||
- goto err;
|
||||
-
|
||||
- ret = regmap_write(dev->regmap, 0x07, 0x00);
|
||||
+ ret = regmap_multi_reg_write(dev->regmap, reset_buf, 2);
|
||||
if (ret)
|
||||
goto err;
|
||||
|
||||
--
|
||||
2.19.1
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
From afb1d05657278c16cca2a9fa96ef9a6c7170d07d Mon Sep 17 00:00:00 2001
|
||||
From: Mariusz Bialonczyk <manio@skyboo.net>
|
||||
Date: Thu, 21 Mar 2019 11:52:55 +0100
|
||||
Subject: [PATCH 501/515] w1: fix the resume command API
|
||||
|
||||
commit 62909da8aca048ecf9fbd7e484e5100608f40a63 upstream.
|
||||
|
||||
>From the DS2408 datasheet [1]:
|
||||
"Resume Command function checks the status of the RC flag and, if it is set,
|
||||
directly transfers control to the control functions, similar to a Skip ROM
|
||||
command. The only way to set the RC flag is through successfully executing
|
||||
the Match ROM, Search ROM, Conditional Search ROM, or Overdrive-Match ROM
|
||||
command"
|
||||
|
||||
The function currently works perfectly fine in a multidrop bus, but when we
|
||||
have only a single slave connected, then only a Skip ROM is used and Match
|
||||
ROM is not called at all. This is leading to problems e.g. with single one
|
||||
DS2408 connected, as the Resume Command is not working properly and the
|
||||
device is responding with failing results after the Resume Command.
|
||||
|
||||
This commit is fixing this by using a Skip ROM instead in those cases.
|
||||
The bandwidth / performance advantage is exactly the same.
|
||||
|
||||
Refs:
|
||||
[1] https://datasheets.maximintegrated.com/en/ds/DS2408.pdf
|
||||
|
||||
Signed-off-by: Mariusz Bialonczyk <manio@skyboo.net>
|
||||
Reviewed-by: Jean-Francois Dagenais <jeff.dagenais@gmail.com>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
---
|
||||
drivers/w1/w1_io.c | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/w1/w1_io.c b/drivers/w1/w1_io.c
|
||||
index 0364d3329c52..3516ce6718d9 100644
|
||||
--- a/drivers/w1/w1_io.c
|
||||
+++ b/drivers/w1/w1_io.c
|
||||
@@ -432,8 +432,7 @@ int w1_reset_resume_command(struct w1_master *dev)
|
||||
if (w1_reset_bus(dev))
|
||||
return -1;
|
||||
|
||||
- /* This will make only the last matched slave perform a skip ROM. */
|
||||
- w1_write_8(dev, W1_RESUME_CMD);
|
||||
+ w1_write_8(dev, dev->slave_count > 1 ? W1_RESUME_CMD : W1_SKIP_ROM);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(w1_reset_resume_command);
|
||||
--
|
||||
2.19.1
|
||||
|
Loading…
Reference in a new issue