From: Greg Kroah-Hartman Date: Wed, 25 Feb 2015 00:47:01 +0000 (-0800) Subject: 3.18-stable patches X-Git-Tag: v3.14.34~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b3d2229911592e05a3f2f770b149fae2297e048f;p=thirdparty%2Fkernel%2Fstable-queue.git 3.18-stable patches added patches: ext4-ignore-journal-checksum-on-remount-don-t-fail.patch media-rc-send-sync-space-information-on-the-lirc.patch --- diff --git a/queue-3.18/ext4-ignore-journal-checksum-on-remount-don-t-fail.patch b/queue-3.18/ext4-ignore-journal-checksum-on-remount-don-t-fail.patch new file mode 100644 index 00000000000..db873bde0f2 --- /dev/null +++ b/queue-3.18/ext4-ignore-journal-checksum-on-remount-don-t-fail.patch @@ -0,0 +1,48 @@ +From 2d5b86e048780c5efa7f7d9708815555919e7b05 Mon Sep 17 00:00:00 2001 +From: Eric Sandeen +Date: Thu, 12 Feb 2015 23:07:37 -0500 +Subject: ext4: ignore journal checksum on remount; don't fail +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Eric Sandeen + +commit 2d5b86e048780c5efa7f7d9708815555919e7b05 upstream. + +As of v3.18, ext4 started rejecting a remount which changes the +journal_checksum option. + +Prior to that, it was simply ignored; the problem here is that +if someone has this in their fstab for the root fs, now the box +fails to boot properly, because remount of root with the new options +will fail, and the box proceeds with a readonly root. + +I think it is a little nicer behavior to accept the option, but +warn that it's being ignored, rather than failing the mount, +but that might be a subjective matter... + +Reported-by: Cónräd +Signed-off-by: Eric Sandeen +Signed-off-by: Theodore Ts'o +Cc: Josh Boyer +Signed-off-by: Greg Kroah-Hartman + +--- + fs/ext4/super.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +--- a/fs/ext4/super.c ++++ b/fs/ext4/super.c +@@ -4849,9 +4849,8 @@ static int ext4_remount(struct super_blo + if ((old_opts.s_mount_opt & EXT4_MOUNT_JOURNAL_CHECKSUM) ^ + test_opt(sb, JOURNAL_CHECKSUM)) { + ext4_msg(sb, KERN_ERR, "changing journal_checksum " +- "during remount not supported"); +- err = -EINVAL; +- goto restore_opts; ++ "during remount not supported; ignoring"); ++ sbi->s_mount_opt ^= EXT4_MOUNT_JOURNAL_CHECKSUM; + } + + if (test_opt(sb, DATA_FLAGS) == EXT4_MOUNT_JOURNAL_DATA) { diff --git a/queue-3.18/media-rc-send-sync-space-information-on-the-lirc.patch b/queue-3.18/media-rc-send-sync-space-information-on-the-lirc.patch new file mode 100644 index 00000000000..fee7494818b --- /dev/null +++ b/queue-3.18/media-rc-send-sync-space-information-on-the-lirc.patch @@ -0,0 +1,49 @@ +From a8f29e89f2b54fbf2c52be341f149bc195b63a8b Mon Sep 17 00:00:00 2001 +From: Austin Lund +Date: Thu, 24 Jul 2014 07:40:20 -0300 +Subject: [media] media/rc: Send sync space information on the lirc + device + +From: Austin Lund + +commit a8f29e89f2b54fbf2c52be341f149bc195b63a8b upstream. + +Userspace expects to see a long space before the first pulse is sent on +the lirc device. Currently, if a long time has passed and a new packet +is started, the lirc codec just returns and doesn't send anything. This +makes lircd ignore many perfectly valid signals unless they are sent in +quick sucession. When a reset event is delivered, we cannot know +anything about the duration of the space. But it should be safe to +assume it has been a long time and we just set the duration to maximum. + +Signed-off-by: Austin Lund +Signed-off-by: Mauro Carvalho Chehab +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/media/rc/ir-lirc-codec.c | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +--- a/drivers/media/rc/ir-lirc-codec.c ++++ b/drivers/media/rc/ir-lirc-codec.c +@@ -42,11 +42,17 @@ static int ir_lirc_decode(struct rc_dev + return -EINVAL; + + /* Packet start */ +- if (ev.reset) +- return 0; ++ if (ev.reset) { ++ /* Userspace expects a long space event before the start of ++ * the signal to use as a sync. This may be done with repeat ++ * packets and normal samples. But if a reset has been sent ++ * then we assume that a long time has passed, so we send a ++ * space with the maximum time value. */ ++ sample = LIRC_SPACE(LIRC_VALUE_MASK); ++ IR_dprintk(2, "delivering reset sync space to lirc_dev\n"); + + /* Carrier reports */ +- if (ev.carrier_report) { ++ } else if (ev.carrier_report) { + sample = LIRC_FREQUENCY(ev.carrier); + IR_dprintk(2, "carrier report (freq: %d)\n", sample); + diff --git a/queue-3.18/series b/queue-3.18/series index 324c6e64c14..2cc80acf952 100644 --- a/queue-3.18/series +++ b/queue-3.18/series @@ -16,3 +16,5 @@ ppp-deflate-never-return-len-larger-than-output-buffer.patch net-sctp-fix-passing-wrong-parameter-header-to-param_type2af-in-sctp_process_param.patch hyperv-fix-the-error-processing-in-netvsc_send.patch net-sched-fix-panic-in-rate-estimators.patch +ext4-ignore-journal-checksum-on-remount-don-t-fail.patch +media-rc-send-sync-space-information-on-the-lirc.patch