[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e14f1964-2692-df77-35ac-78236fc84ee2@gmail.com>
Date: Fri, 8 Apr 2022 02:23:12 +0900
From: Akihiko Odaki <akihiko.odaki@...il.com>
To: Benson Leung <bleung@...gle.com>
Cc: Guenter Roeck <groeck@...gle.com>,
Prashant Malani <pmalani@...omium.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
chrome-platform@...ts.linux.dev,
Benson Leung <bleung@...omium.org>,
Guenter Roeck <groeck@...omium.org>
Subject: Re: [PATCH] platform/chrome: cros_ec_typec: Check for EC driver
On 2022/04/08 2:09, Benson Leung wrote:
> Hi Akihiko,
>
> On Fri, Apr 08, 2022 at 02:03:52AM +0900, Akihiko Odaki wrote:
>> If I read the code correctly, the registration itself happens synchronously
>> and platform_device_register_data() always returns a non-NULL value unless
>> it returns -ENOMEM. The driver, however, can be asynchronously bound and
>> dev_get_drvdata(&typec->ec->ec->dev) can return NULL as the consequence. It
>> would have a call trace like the following when scheduling asynchronous
>> driver binding:
>> platform_device_register_data()
>> platform_device_register_resndata()
>> platform_device_register_full()
>> - This always creates and returns platform_device.
>> platform_device_add()
>> - This adds the created platform_device.
>> device_add()
>> bus_probe_device()
>> device_initial_probe()
>> __device_attach()
>> - This schedules asynchronous probing.
>>
>> typec->ec->ec should be pointing to the correct platform_device as the
>> patched driver works without Oops on my computer. It is not NULL at least.
>
> Can you provide more information about your test computer in this case?
>
> Is it a Chromebook running stock firmware (if so, please let us know which
> model, and which firmware version it is running).
> In the past, we've also gotten some reports from people running MrChromebox
> custom firmware on older Chromebooks which have exposed other bugs in
> this driver.
>
> Let us know if that's the case here, and where we can get that firmware.
My computer is Lenovo ThinkPad C13 Yoga Chromebook. It is running the
stock firmware. The firmware was updated by running the following
command on Google Chrome OS Version 99.0.4844.86 (Official Build) (64-Bit):
chromeos-firmwareupdate --mode=recovery
Regards,
Akihiko Odaki
>
> Thanks,
> Benson
>
Powered by blists - more mailing lists