Message ID | 548934D0.8000502@intel.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Zhang Rui |
Headers | show |
On 12/11/2014 02:08 PM, Aaron Lu wrote: > 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@intel.com> 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@intel.com> 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@intel.com> >>>>>> Signed-off-by: Zhang Rui <rui.zhang@intel.com> >>>>>> --- >>>>>> 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: BTW, this is verified with a laptop that would expose the same call trace as posted by Olof with the original commit. Thanks, Aaron -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, 2014-12-11 at 14:08 +0800, Aaron Lu wrote: > 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@intel.com> 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@intel.com> 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@intel.com> > >>>>> Signed-off-by: Zhang Rui <rui.zhang@intel.com> > >>>>> --- > >>>>> 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. > As the patch has not been in upstream yet, you should include this fix in your original patch. thanks, rui > Thanks, > Aaron -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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);