ARM: dts: imx53-qsb: disable 1.2GHz OPP
Sasha Levin
maintainerPATCH 1/5 ARM: dts: imx53-qsb: disable 1.2GHz OPP
From: Sascha Hauer <[email protected]>
[ Upstream commit eea96566c189c77e5272585984eb2729881a2f1d ]
The maximum CPU frequency for the i.MX53 QSB is 1GHz, so disable the 1.2GHz OPP. This makes the board work again with configs that have cpufreq enabled like imx_v6_v7_defconfig on which the board stopped working with the addition of cpufreq-dt support.
--- arch/arm/boot/dts/imx53-qsb-common.dtsi | 11 +++++++++++ 1 file changed, 11 insertions(+)
arch/arm/boot/dts/imx53-qsb-common.dtsi +11 -0
@@ -130,6 +130,17 @@ }; }; +&cpu0 { + /* CPU rated to 1GHz, not 1.2GHz as per the default settings */ + operating-points = < + /* kHz uV */ + 166666 850000 + 400000 900000 + 800000 1050000 + 1000000 1200000 + >; +}; + &esdhc1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_esdhc1>;
Signature · 1 line
2.17.1
Sasha Levin
maintainerPATCH 2/5 Input: mousedev - add a schedule point in mousedev_write()
From: Eric Dumazet <[email protected]>
[ Upstream commit f74c371fe72a4f820d287db8067683fb533e4ede ]
syzbot was able to trigger rcu stalls by calling write() with large number of bytes.
Add a cond_resched() in the loop to avoid this.
--- drivers/input/mousedev.c | 1 + 1 file changed, 1 insertion(+)
drivers/input/mousedev.c +1 -0
@@ -707,6 +707,7 @@ static ssize_t mousedev_write(struct file *file, const char __user *buffer,mousedev_generate_response (client, c);spin_unlock_irq (&client->packet_lock); +cond_resched (); }kill_fasync (&client->fasync,SIGIO ,POLL_IN );
Signature · 1 line
2.17.1
Sasha Levin
maintainerPATCH 3/5 Input: evdev - add a schedule point in evdev_write()
In reply to Sasha LevinFrom: Dmitry Torokhov <[email protected]>
[ Upstream commit 36d2582ff235b4e01ad64a734c877a52dc762d9c ]
Large writes to evdev interface may cause rcu stalls. Let's add cond_resched() to the loop to avoid this.
--- drivers/input/evdev.c | 1 + 1 file changed, 1 insertion(+)
drivers/input/evdev.c +1 -0
@@ -558,6 +558,7 @@ static ssize_t evdev_write(struct file *file, const char __user *buffer,input_inject_event (&evdev->handle, event.type, event.code, event.value); +cond_resched (); } out:
Signature · 1 line
2.17.1
Sasha Levin
maintainerPATCH 4/5 Input: uinput - add a schedule point in uinput_inject_events()
In reply to Sasha LevinFrom: Dmitry Torokhov <[email protected]>
[ Upstream commit cecf10704899467a787975e3d94a1f0129b9688e ]
Large writes to uinput interface may cause rcu stalls. Let's add cond_resched() to the loop to avoid this.
--- drivers/input/misc/uinput.c | 1 + 1 file changed, 1 insertion(+)
drivers/input/misc/uinput.c +1 -0
@@ -454,6 +454,7 @@ static ssize_t uinput_inject_events(struct uinput_device *udev,input_event (udev->dev, ev.type, ev.code, ev.value); bytes +=input_event_size (); +cond_resched (); }return bytes;
Signature · 1 line
2.17.1
Sasha Levin
maintainerPATCH 5/5 fs/fat/fatent.c: add cond_resched() to fat_count_free_clusters()
In reply to Sasha LevinFrom: Khazhismel Kumykov <[email protected]>
[ Upstream commit ac081c3be3fae6d0cc3e1862507fca3862d30b67 ]
On non-preempt kernels this loop can take a long time (more than 50 ticks) processing through entries.
--- fs/fat/fatent.c | 1 + 1 file changed, 1 insertion(+)
fs/fat/fatent.c +1 -0
@@ -681,6 +681,7 @@ int fat_count_free_clusters(struct super_block *sb)if (ops->ent_get (&fatent) ==FAT_ENT_FREE ) free++; }while (fat_ent_next (sbi, &fatent)); +cond_resched (); } sbi->free_clusters = free; sbi->free_clus_valid =1 ;
Signature · 1 line
2.17.1