On Mon, Feb 22, 2016 at 10:29:48PM -0600, John Dahlstrom wrote: > 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 stable@xxxxxxxxxxxxxxx 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 This does not yield correct results for me on 3.17 (or 3.17.8). Do you get different results from the following? dvhart@dvhart-mobl5:~/source/linux/linux-pdx86 [testing] $ git co -b 3.17 v3.17 Checking out files: 100% (36214/36214), done. Switched to a new branch '3.17' dvhart@dvhart-mobl5:~/source/linux/linux-pdx86 [3.17] $ git cp 4fa9dab [3.17 d2cdd70] ideapad_laptop: Lenovo G50-30 fix rfkill reports wireless blocked Author: Dmitry Tunin <hanipouspilot@xxxxxxxxx> Date: Sun Jan 18 15:44:40 2015 +0300 1 file changed, 7 insertions(+) dvhart@dvhart-mobl5:~/source/linux/linux-pdx86 [3.17] $ git am ~/incoming/PATCH_v5_1-1_ideapad-laptop_Add_ideapad_Y700_15_to_the_no_hw_rfkill_DMI_list.mbox Applying: ideapad-laptop: Add ideapad Y700 (15) to the no_hw_rfkill DMI list error: patch failed: drivers/platform/x86/ideapad-laptop.c:864 error: drivers/platform/x86/ideapad-laptop.c: patch does not apply Patch failed at 0001 ideapad-laptop: Add ideapad Y700 (15) to the no_hw_rfkill DMI list The copy of the patch that failed is found in: /home/dvhart/source/linux/linux-pdx86/.git/rebase-apply/patch When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". dvhart@dvhart-mobl5:~/source/linux/linux-pdx86 [3.17|AM 1/1] $ patch -p1 < ~/incoming/PATCH_v5_1-1_ideapad-laptop_Add_ideapad_Y700_15_to_the_no_hw_rfkill_DMI_list.mbox patching file drivers/platform/x86/ideapad-laptop.c Hunk #1 succeeded at 864 with fuzz 2. $ cat drivers/platform/x86/ideapad-laptop.c | head -n 880 | tail -n 32 static int ideapad_acpi_add(struct platform_device *pdev) { int ret, i; int cfg; struct ideapad_private *priv; struct acpi_device *adev; ret = acpi_bus_get_device(ACPI_HANDLE(&pdev->dev), &adev); if (ret) return -ENODEV; if (read_method_int(adev->handle, "_CFG", &cfg)) return -ENODEV; priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); if (!priv) }, { .ident = "Lenovo ideapad Y700-15ISK", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo ideapad Y700-15ISK"), }, }, { .ident = "Lenovo ideapad Y700 Touch-15ISK", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo ideapad Y700 Touch-15ISK"), }, return -ENOMEM; Note that the DMI match blocks were stuffed in the middle of the ideapad_acpi_add() function instead of the no_hw_rfkill. > > >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 > -- Darren Hart Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html