On 12/11/2014 10:37 AM, Zhang Rui wrote: > On Wed, 2014-12-10 at 18:15 -0800, Olof Johansson wrote: >> On Wed, Dec 10, 2014 at 5:02 PM, Aaron Lu <aaron.lu@xxxxxxxxx> wrote: >>> On Wed, Dec 10, 2014 at 11:53:25AM -0800, Olof Johansson wrote: >>>> Hi, >>>> >>>> [+daniel vetter] >>>> >>>> On Mon, Dec 8, 2014 at 9:47 PM, Aaron Lu <aaron.lu@xxxxxxxxx> wrote: >>>>> INT3406 ACPI device object resembles an ACPI video output device, but its >>>>> _BCM is said to be deprecated and should not be used. So we will make >>>>> use of the raw interface to do the actual cooling. Due to this, the >>>>> backlight core has some modifications. Also, to re-use some of the ACPI >>>>> video module's code, one function has been exported. >>>>> >>>>> Signed-off-by: Aaron Lu <aaron.lu@xxxxxxxxx> >>>>> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> >>>>> --- >>>>> v5: >>>>> Add the missing file drivers/thermal/int340x_thermal/Kconfig >>>>> Remove the assignment of .owner field from the device_driver structure >>>> >>>> >>>> Did this patch show up in -next for the first time last night, or did >>>> some other change break this? >>>> >>>> It causes a panic in i915 when booting Minnowboard Max for me. >>> >>> Sorry for the trouble, I'm looking at this now. >>> Is there anything special about the Minnowboard Max? I'll try to >>> reproduce the issue here locally with a typical Intel desktop. >> >> Another good question is why the code showed up in -next today. Code >> going in for 3.19 is supposed to have been baking there already, and >> it's too early to stage anything for 3.20. >> >> Zhang? > > well, my Linux machine happened to be broken when I was in travel in Oct > and Nov, so that I got the 3.19 material prepared a little late. > Thus I just took some fixes and driver specific patches and plan to push > my pull request next week. > For this one, it had been pushed to linux-next for 3.18, but was dropped > because of some Kconfig problem. So I thought it was safe to include > this one for 3.19. > sorry for bring the trouble here. It's my bad. In the meantime, I think I have found the problem: If the system has a video output device that does not provide a correct _BCL, the error path from the newly added code doesn't properly set the error return value and that caused problem. The fix is simple: diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c index 5a41f89c4ce4..32880e6c8da4 100644 --- a/drivers/acpi/video.c +++ b/drivers/acpi/video.c @@ -721,7 +721,7 @@ int acpi_video_get_levels(struct acpi_device *device, int i, max_level = 0, count = 0, level_ac_battery = 0; union acpi_object *o; struct acpi_video_device_brightness *br = NULL; - int result = 0; + int result = -EINVAL; u32 value; if (!ACPI_SUCCESS(acpi_video_device_lcd_query_levels(device->handle, @@ -799,6 +799,7 @@ int acpi_video_get_levels(struct acpi_device *device, br->count = count; *dev_br = br; + result = 0; out: kfree(obj); Please let me know if you want to take this one incremental patch or an update to the original one. Thanks, Aaron -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html