On Mon, 22 Feb 2016, Darren Hart wrote:
Unfortunately, backporting this to stable is not quite so simple.
First, 3.16 doesn't really work as between 3.16 and 3.17 the following patch
landed:
ce363c2 ideapad-laptop: Change Lenovo Yoga 2 series rfkill handling
Which changes the name of the dmi_system_id struct from rfkill_blacklist to
no_hw_rfkill_list.
Following that, there were several additions to the list which should be applied
before this patch to each stable kernel for which they haven't been picked up in
order for this one to apply cleanly. Several of those are included below:
Despite the change in the no_hw_rfkill_list, GNU patch still yields the
correct output but with fuzz. I interpret apply cleanly to mean that
the patch must also apply with zero fuzz, such as with "patch -F 0".
In the case where the context has changed (including changes to an
enclosing struct or function), I gather that a patch exactly modified
for an older kernel is to be sent to sta...@vger.kernel.org after the
unmodified patch is accepted upstream with a commit ID.
$ git l v3.17.. drivers/platform/x86/ideapad-laptop.c
[...]
If you are going to specify a kernel version, you should also include the
commits above necessary to make the patch apply cleanly. That would be a long
list as you would need many of these for each version.
Thank you for that information. One commit is sufficient to apply the
patch to all kernel versions without fuzz:
4fa9dab ideapad_laptop: Lenovo G50-30 fix rfkill reports wireless blocked
What I'm going to do is include a single Cc to stable line without a kernel
version. The maintainers will pull that back as far as they can using their own
judgement. If you want this to go back earlier than they do on their own, you
should submit it to linux-stable directly and include the Cc lines for the
dependencies for each kernel you care to see this backported to. See the
stable-kernel-rules for the specific formatting to accomplish this.
I've submitted v5 of the patch with a single Cc line with the prerequisite
kernel(s) and commit ID specified exactly.
Kind regards,
John